Skip to main content
Google OR-Tools
  • Google OR-Tools
OR-Tools OR API
/
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Polski
  • Português – Brasil
  • Tiếng Việt
  • Türkçe
  • Русский
  • עברית
  • العربيّة
  • فارسی
  • हिंदी
  • বাংলা
  • ภาษาไทย
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어
  • OR-Tools
Installation Guides Reference Examples Support
Google OR-Tools
  • Google OR-Tools
  • OR-Tools
    • Installation
    • Guides
    • Reference
    • Examples
    • Support
  • OR API
  • Get Started
    • About OR-Tools
    • Get Started Guides
      • Overview
      • C++
      • Python
      • Java
      • .Net
  • MathOpt
    • Overview
    • Basic example
  • CP-SAT
    • Constraint Programming with CP-SAT
    • Using the CP-SAT Solver
    • Solving a CP Problem
    • Cryptarithmetic
    • The N-queens Problem
    • Setting Solver Limits
  • Network Flows
    • Overview
    • Maximum Flows
    • Minimum Cost Flows
    • Assignment as a Min Cost Flow Problem
  • Linear Optimization
    • Overview
    • MPSolver Interface
    • Solving an LP Problem
    • Advanced LP Solving
    • The Stigler Diet Problem
    • Service for Apps Script
    • Mathematical background for PDLP
  • Integer Optimization
    • Overview
    • Solving a MIP Problem
    • Using Arrays to Define a Model
  • Assignment
    • Overview
    • Solving an Assignment Problem
    • Assignment with Teams of Workers
    • Assignment with Task Sizes
    • Assignment with Allowed Groups
    • Linear Sum Assignment Solver
  • Packing
    • Overview
    • The Knapsack Problem
    • Multiple Knapsacks
    • Bin Packing Problem
  • Routing
    • Overview
    • Traveling Salesperson Problem
    • Vehicle Routing Problem
    • Capacity Constraints
    • Pickups and Deliveries
    • Time Window Constraints
    • Dimensions
    • Resource Constraints
    • Penalties and Dropping Visits
    • Common Routing Tasks
    • Routing Options
    • Google Directions API
    • Original CP Solver
  • Scheduling
    • Overview
    • Employee Scheduling
    • The Job Shop Problem
  • Home
  • Products
  • OR-Tools
  • Guides

Get Started Guides
Stay organized with collections Save and categorize content based on your preferences.

OR-Tools is written in C++, but you can also use it with Python, Java, or .Net. The following sections will quickly get you started creating and running OR-Tools programs in each of the supported languages:

  • Get started with OR-Tools for C++
  • Get started with OR-Tools for Python
  • Get started with OR-Tools for Java
  • Get started with OR-Tools for .Net

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-08-28 UTC.

  • Discussion forum Discussion forum
    Visit our forum
  • Discord Discord
    Join Google OR-Tools Discord server
  • GitHub GitHub
    Download our code
  • Stack Overflow Stack Overflow
    Ask questions using the or-tools or cp-sat tags
  • Programs

    • Google Developer Groups
    • Google Developer Experts
    • Accelerators
    • Women Techmakers
  • Developer consoles

    • Google API Console
    • Google Cloud Platform Console
    • Google Play Console
    • Firebase Console
    • Actions on Google Console
    • Cast SDK Developer Console
    • Chrome Web Store Dashboard
Google Developers
  • Android
  • Chrome
  • Firebase
  • Google Cloud Platform
  • All products
  • Terms
  • Privacy
  • ICP证合字B2-20070004号
  • Manage cookies
  • Sign up for the Google Developers newsletter Subscribe
  • English
  • Deutsch
  • Español
  • Español – América Latina
  • Français
  • Indonesia
  • Italiano
  • Polski
  • Português – Brasil
  • Tiếng Việt
  • Türkçe
  • Русский
  • עברית
  • العربيّة
  • فارسی
  • हिंदी
  • বাংলা
  • ภาษาไทย
  • 中文 – 简体
  • 中文 – 繁體
  • 日本語
  • 한국어