google/or-tools

Google's Operations Research tools:

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on September 4th, 2026
Created on February 21st, 2015
Open Issues & Pull Requests: 120 (+0)
GitHub issues: Enabled
Number of forks: 2,485
Total Stargazers: 14,008 (+0)
Total Subscribers: 312 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.2 hours
Mean response time: 7.5 days
90th percentile: 2.1 days
Tracked items: 434

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 88% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 51% of tracked open issues have had no activity in three months. Only 5% of issues opened in the past year have been closed. Three people close 91% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 83
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 409 days
Stale 30+ days: 69
Stale 90+ days: 54

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Bug (186)
  • Lang: Python (134)
  • Solver: CP-SAT Solver (128)
  • Help Needed (114)
  • Feature Request (58)
  • Solver: Routing (56)
  • Build: CMake (55)
  • Lang: C++ (49)

Detailed Description

OR-Tools is a combinatorial optimization solver suite that provides constraint programming, linear programming, and specialized algorithms for routing and graph problems.

The suite addresses the challenge of solving computationally hard optimization problems across diverse domains. It offers two constraint programming solvers (CP and CP-SAT), two linear programming solvers (Glop and PDLP), wrappers for commercial and open-source solvers including mixed-integer solvers, and specialized algorithms for bin packing, knapsack problems, traveling salesman problems, and vehicle routing. The tool also includes graph algorithms for shortest paths, minimum cost flow, maximum flow, and linear sum assignment. The core implementation is written in C++ for performance and portability, with language bindings for Python, C#, and Java.

Adoption suits teams working on logistics, scheduling, resource allocation, or any combinatorial optimization problem where exact or near-optimal solutions matter. The breadth of solvers means you can often find an appropriate algorithm without integrating multiple libraries. The multiple build system support (Make, CMake, and Bazel) accommodates different project infrastructures. The extensive example collection across C++, Python, Java, C#, and FlatZinc demonstrates how to apply the solvers to concrete problems.

Development activity shows consistent investment in solver capabilities and language support. The codebase maintains careful organization with dedicated modules for each solver type and algorithm family, each accompanied by sample implementations. The project provides comprehensive documentation within component directories and maintains examples across multiple programming languages and formats including Jupyter notebooks. Build system infrastructure receives active attention with separate configuration files and CI documentation for each supported build method.