OR-Tools

Original author(s)| Laurent Perron
Developer(s)| Google Optimization team[1]
Initial release| September 15, 2010; 15 years ago (2010-09-15)
Stable release|

v9.9.3963[2] / March 7, 2024; 2 years ago (2024-03-07)

Repository| github.com/google/or-tools
Written in| C++
Operating system| Linux, macOS, Microsoft Windows
Type| Library
License| Apache License 2.0
Website| developers.google.com/optimization/

Google OR-Tools is a free and open-source software suite developed by Google for solving linear programming (LP), mixed integer programming (MIP), constraint programming (CP), vehicle routing (VRP), and related optimization problems.[3]

OR-Tools is a set of components written in C++ but provides wrappers for Java, .NET and Python.

It is distributed under the Apache License 2.0.[4]

## Contents

* 1 History
* 2 Features
* 3 See also
* 4 References
* 5 Bibliography
* 6 External links

## History

OR-Tools was created by Laurent Perron in 2011.[5]

In 2014, Google's open source linear programming solver, GLOP, was released as part of OR-Tools.[1]

The CP-SAT solver[6] bundled with OR-Tools has been consistently winning gold medals in the MiniZinc Challenge,[7] an international constraint programming competition.

## Features

The OR-Tools supports a variety of programming languages, including:

* Object-oriented interfaces for C++[8]
* A Java wrapper package[9]
* A .NET and .NET Framework wrapper package[10]
* A Python wrapper package[11][12]

OR-Tools supports a wide range of problem types,[13][3] among them:

* Assignment problem[14]
* Linear programming
* Mixed-integer programming[15]
* Constraint programming[6]
* Vehicle routing problem[14][16]
* Network flow algorithms

It supports the FlatZinc modeling language.[17]

## See also

* COIN-OR
* CPLEX
* GLPK
* SCIP (optimization software)
* FICO Xpress
* MOSEK

## References

1. ↑ 1.0 1.1 "Sudoku, Linear Optimization, and the Ten Cent Diet". https://ai.googleblog.com/2014/09/sudoku-linear-optimization-and-ten-cent.html.
2. ↑ "Release v9.9". https://github.com/google/or-tools/releases/tag/v9.9.
3. ↑ 3.0 3.1 "Google OR-Tools a guide". February 24, 2019. https://medium.com/google-or-tools/google-or-tools-a-guide-39f439a5cd0f.
4. ↑ "LICENSE-2.0.txt". https://github.com/google/or-tools/blob/stable/LICENSE-2.0.txt.
5. ↑ Perron, Laurent (2011-07-01). "Operations Research and Constraint Programming at Google". Lee J. (Eds) Principles and Practice of Constraint Programming – CP 2011. Lecture Notes in Computer Science. 6876. pp. 2. doi:10.1007/978-3-642-23786-7_2. ISBN 978-3-642-23786-7.
6. ↑ 6.0 6.1 "The CP-SAT Primer". Dec 2, 2024. https://d-krupke.github.io/cpsat-primer/.
7. ↑ "The MiniZinc Challenge". https://www.minizinc.org/challenge.html.
8. ↑ "Homebrew package". https://formulae.brew.sh/formula/or-tools.
9. ↑ "com.google.ortools:ortools-java". https://mvnrepository.com/artifact/com.google.ortools/ortools-java.
10. ↑ "Google.OrTools". https://www.nuget.org/packages/Google.OrTools/.
11. ↑ "ortools". https://pypi.org/project/ortools/.
12. ↑ "Stan Store". toolsforcreators.org. https://toolsforcreators.org/stan-store-review-features-setup-ease-pricing-breakdown/.
13. ↑ "OR-Tools introduction". https://developers.google.com/optimization/introduction/overview.
14. ↑ 14.0 14.1 "Application of Google OR-Tools". https://www.kaggle.com/jpmiller/application-of-google-or-tools.
15. ↑ Louat, Christophe (2009). Etude et mise en œuvre de stratégies de coupes efficaces pour des problèmes entiers mixtes 0-1 (PhD). Vol. 1\. Université de Versailles Saint-Quentin-en-Yvelines. p. 144.
16. ↑ "Routing use case". https://activimetrics.com/blog/ortools/multiday_tsp.
17. ↑ "Software with FlatZinc implementations". https://www.minizinc.org/software.html#flatzinc.

## Bibliography

* Kruk, Serge (February 26, 2018). Practical Python AI Projects: Mathematical Models of Optimization Problems with Google OR-Tools (1st ed.). O'Reilly Media. ISBN 9781484234235. https://www.oreilly.com/library/view/practical-python-ai/9781484234235/.
* Da Col, Giacomo; Teppan, Eric C. (2019). "Google vs IBM: A Constraint Solving Challenge on the Job-Shop Scheduling Problem". Electronic Proceedings in Theoretical Computer Science (Open Publishing Association) 306: 259–265. doi:10.4204/eptcs.306.30. ISSN 2075-2180.
* Li, Mengyun; Chow, Joseph (April 2021). "School Bus Routing Problem with a Mixed Ride, Mixed Load, and Heterogeneous Fleet". Transportation Research Record Journal of the Transportation Research Board 2675 (7): 467–479. doi:10.1177/03611981211016860.

## External links

* Official website
* Source code
* Video introduction to OR-Tools

* v
* t
* e

Mathematical optimization software

Data formats|

* Mathematica
* MPS
* nl
* sol

Modeling tools|

* AIMMS
* AMPL
* APMonitor
* ECLiPSe-CLP
* GEKKO
* GAMS
* GNU MathProg
* JuMP
* LINDO
* OPL
* Mathematica
* OptimJ
* PuLP
* Pyomo
* TOMLAB
* Xpress-Mosel
* ZIMPL

LP, MILP∗ solvers|

* APOPT∗
* Artelys Knitro∗
* BCP∗
* CLP
* CBC∗
* CPLEX∗
* FortMP∗
* GCG∗
* GLPK/GLPSOL∗
* Gurobi∗
* LINDO∗
* Lp_solve
* LOQO
* Mathematica
* MINOS
* MINTO∗
* MOSEK∗
* SCIP∗
* SoPlex
* SYMPHONY∗
* Xpress-Optimizer∗

QP, MIQP∗ solvers|

* APOPT∗
* Artelys Knitro∗
* CBC∗
* CLP
* CPLEX∗
* FortMP∗
* Gurobi∗
* IPOPT
* LINDO∗
* Mathematica
* MINOS
* MOSEK∗
* SCIP∗
* Xpress-Optimizer∗

QCP, MIQCP∗ solvers|

* APOPT∗
* Artelys Knitro∗
* CPLEX∗
* Gurobi∗
* IPOPT
* LINDO∗
* Mathematica
* MINOS
* MOSEK∗
* SCIP∗
* Xpress-Optimizer∗
* Xpress-SLP∗

SOCP, MISOCP∗ solvers|

* Artelys Knitro∗
* CPLEX∗
* Gurobi∗
* LINDO∗
* LOQO
* Mathematica
* MOSEK∗
* SCIP∗
* Xpress-Optimizer∗

SDP, MISDP∗ solvers|

* Mathematica
* MOSEK

NLP, MINLP∗ solvers|

* AOA∗
* APOPT∗
* Artelys Knitro∗
* BARON∗
* Couenne∗
* Galahad library
* IPOPT
* LINDO∗
* LOQO
* MIDACO∗
* MINOS
* NLPQLP
* NPSOL
* SCIP∗
* SNOPT∗
* WORHP
* Xpress-SLP∗

GO solvers|

* BARON
* Couenne∗
* Mathematica
* LINDO
* SCIP

CP solvers|

* Comet
* CPLEX CP Optimizer
* Gecode
* Mathematica
* JaCoP

Metaheuristic solvers|

* OptaPlanner

* List of optimization software
* Comparison of optimization software

* v
* t
* e

Google free and open-source software (FOSS)

Software|

| Applications|

* Chromium
* OpenRefine
* Tesseract

|

Programming languages|

* Dart
* Go
* Sawzall

Frameworks and
development tools|

* AMP
* Angular
* AngularJS
* Beam
* Blockly
* Closure Tools
* Cpplint
* FlatBuffers
* Flutter
* Gears
* Gerrit
* Guava
* gRPC
* Gson
* Guetzli
* Guice
* gVisor
* Kubernetes
* LevelDB
* libvpx
* Polymer
* TensorFlow

Operating systems|

* AOSP
* Chromium OS
* Fuchsia
* gLinux
* Goobuntu

Related|

* Code-in
* Open Source Security Foundation
* Summer of Code

* v
* t
* e

Google

* Alphabet Inc.
* Android
* Devices
* Nexus
* Pixel
* Maps
* YouTube

Company|

* Overview
* Alphabet Inc.
* History
* List of mergers and acquisitions by Alphabet
* List of products
* Criticism
* Privacy concerns
* Censorship
* Litigation
* Don't be evil

Real estates|

* 111 Eighth Avenue
* Chelsea Market
* Googleplex
* Data centers

Advertising|

* AdMob
* Adscape
* Ads
* AdSense
* Analytics
* Contributor

Events|

* Code-in
* Code Jam
* Developer Day
* I/O
* Science Fair
* Summer of Code
* Talks at Google

People|

* Al Gore
* Alan Eustace
* Alan Mulally
* Amit Singhal
* Ann Mather
* David Drummond
* Eric Schmidt
* Jeff Dean
* John Doerr
* John L. Hennessy
* Krishna Bharat
* Matt Cutts
* Patrick Pichette
* Paul Otellini
* Omid Kordestani
* Rachel Whetstone
* Rajen Sheth
* Ram Shriram
* Ray Kurzweil
* Ruth Porat
* Salar Kamangar
* Sanjay Ghemawat
* Shirley M. Tilghman
* Sundar Pichai
* Susan Wojcicki
* Urs Hölzle
* Vint Cerf
* Hal Varian

Terms|

* Gayglers
* Google Developer Expert

Founders|

* Larry Page
* Sergey Brin

Typefaces|

* Noto
* Roboto
* Product Sans

Products|

| Software|

* Assistant
* Camera
* Lens
* Goggles
* Chrome
* for Android
* Web Store
* Chromium
* Cloud Print
* Earth
* Gadgets
* Gboard
* IME
* Japanese
* Pinyin
* Pay
* Pay Send
* Photos
* Keep
* News
* Now
* OpenRefine
* Snapseed
* Waze

Operating systems|

* Android
* version history
* software development
* Android Automotive
* Android TV
* Wear OS
* List of devices
* Chrome OS
* Apps
* Fuchsia

Programming languages|

* Dart
* Go
* Sawzall

Frameworks|

* Angular
* AngularJS
* AJAX APIs
* Dialogflow
* Flutter
* Guava
* Guice
* TensorFlow

Communication|

* Alerts
* Apps Script
* Duo
* Calendar
* Contacts
* Gmail
* history
* interface
* Groups
* Hangouts
* Chat
* Meet
* Sync
* Text-to-Speech
* Translate
* Transliteration
* Voice

Platforms|

* Account
* Authenticator
* Android Auto
* ZygoteBody
* Cast
* Cloud Platform
* App Engine
* BigQuery
* Bigtable
* Compute Engine
* Storage
* Fit
* GFS
* G Suite
* Classroom
* Marketplace
* Native Client
* OpenSocial
* Pay
* Send
* Primer
* Play
* Books
* Games
* Movies & TV
* Music
* Public DNS
* Safe Browsing
* Stadia
* Tango
* YouTube TV

Development|

* App Inventor
* Caja
* Closure Tools
* Developers
* Firebase
* GData
* KML
* Kythe
* MapReduce
* Owlchemy Labs
* Web Toolkit
* Search Console
* Website Optimizer
* Swiffy

Publishing|

* AMP
* Blogger
* Domains
* Drive
* Docs
* Sheets
* Slides
* Drawings
* Forms
* Fusion Tables
* FeedBurner
* Google Podcasts
* Sites
* YouTube
* Instant
* Premium
* Vevo
* Zagat

Search
(timeline)|

* Blog Search
* Books
* Ngram Viewer
* Custom Search
* Dataset Search
* Dictionary
* Finance
* Flights
* Googlebot
* Images
* Maps
* Street View
* Coverage
* Privacy concerns
* News
* Archive
* Patents
* Public Data
* Scholar
* Shopping
* Tenor
* Videos

Algorithms|

* PageRank
* Panda
* Penguin
* Hummingbird

Features|

* Personalized
* SafeSearch
* Voice Search

Analysis|

* Insights for Search
* Trends
* Knowledge Graph and Vault

Hardware|

* Glass
* Home
* Jamboard
* Wifi
* OnHub

Virtual reality|

* Cardboard
* Daydream

Nest|

* Nest Learning Thermostat
* Nest

Smartphones|

* Nexus
* Pixel

Chrome|

* Chromebit
* Chromecast
* Chromebook
* Chromebox

Other|

* .google
* Arts & Culture
* ATAP
* Chrome Zone
* Data Transfer Project
* Dragonfly
* Current
* Chrome Experiments
* Google Business Groups
* Made with Code
* Data Liberation
* Takeout
* Google (verb)
* Google China
* Google Express
* Googlization
* Google.org
* Logo and related
* Doodle4Google
* Google Doodles
* Lunar X Prize
* Google Fi
* Google Station
* Material Design
* Motorola Mobility
* Nest Labs
* reCAPTCHA
* Sunroof
* WiFi
* AI Challenge
* Easter eggs
* elgooG

Related|

* Google bombing
* Goojje
* Monopoly City Streets
* Unity

Documentaries|

* Google: Behind the Screen
* Google: The Thinking Factory
* Google and the World Brain

* Category
*   *   * Discontinued products and services

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/OR-Tools. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:OR-Tools&oldid=4138317"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template