google/or-tools
开发工具面向组合优化问题的开源求解器套件,提供 C++、Python、C# 与 Java 接口。
OR-Tools 是 Google 开源的组合优化工具套件:你把调度、路径规划、分配或装箱等问题描述成模型,库负责求解。它适合能把问题表达为数学模型的开发者和研究者,也适合希望自行选择求解后端、而不是调用托管排程服务的人。
它能解决什么
套件包含 CP* 与 CP-SAT 约束规划求解器、Glop 与 PDLP 线性规划求解器、对商业及其他开源求解器(含混合整数求解器)的封装、装箱与背包算法、旅行商与车辆路径算法,以及最短路、最小费用流/最大流、线性求和分配等图算法 About OR-Tools。核心用 C++ 编写,并提供 Python、C# 和 Java 封装 About OR-Tools。
一次典型使用流程
常见场景是路径或分配问题:定义变量与约束,选择求解器,运行并解读返回的取值。按组件划分的示例覆盖路径/约束求解、SAT、线性求解和图算法,另有 C++、.NET、Java、Python 及 Jupyter notebook 的完整示例 Codemap。项目建议新用户从开发者指南的教程和示例入手,而不是把它当成单一命令行工具 Quick Start。
环境要求与构建方式
README 说明套件在 Ubuntu 18.04 LTS 及以上(64 位)、macOS Mojave + Xcode 9.x(64 位)以及 Visual Studio 2022(64 位)的 Windows 上经过测试 Installation。它支持 Make(标为 legacy)、CMake 和 Bazel 三种构建方式,每种方式有各自的构建说明;能否成功构建取决于是否按对应路径操作 Installation。二进制与源码安装选项见安装页 Installation instructions,并不存在“一份通用预编译包适配所有平台”的承诺。
需要留意的边界
这是一套求解器库,不是成品应用:README 没有承诺所有问题都容易求解,CP-SAT、线性求解器与第三方封装之间的选择也会影响建模形式和可用结果。许可证为 Apache-2.0,允许在其条款下商用 License。
本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。