or-tools README

The project's README from github.com/google/or-tools. As one markdown file: README.md.

OR-Tools - Google Optimization Tools

PyPI version PyPI download
NuGet version NuGet download
Maven Central
Discord

Google's software suite for combinatorial optimization.

Table of Contents

About OR-Tools

Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and portable software suite for solving combinatorial optimization problems.

The suite contains:

We wrote OR-Tools in C++, but provide wrappers in Python, C# and Java.

Codemap

This software suite is composed of the following components:

Installation

This software suite has been tested under:

OR-Tools currently builds with a Makefile, but also provides Bazel and CMake support.

For installation instructions (both source and binary), please visit https://developers.google.com/optimization/introduction/installing.

Build from source using Make (legacy)

We provide a Make based build.
Please check the Make build instructions.

Build from source using CMake

We provide a CMake based build.
Please check the CMake build instructions.

Build from source using Bazel

We provide a Bazel based build.
Please check the Bazel build instructions.

Quick Start

The best way to learn how to use OR-Tools is to follow the tutorials in our developer guide:

https://developers.google.com/optimization/introduction/get_started

If you want to learn from code examples, take a look at the examples in the examples directory.

Documentation

The complete documentation for OR-Tools is available at: https://developers.google.com/optimization/

Contributing

The CONTRIBUTING.md file contains instructions on how to submit the Contributor License Agreement before sending any pull requests (PRs). Of course, if you're new to the project, it's usually best to discuss any proposals and reach consensus before sending your first PR.

License

The OR-Tools software suite is licensed under the terms of the Apache License 2.0.
See LICENSE for more information.

or-tools (google/or-tools)

Searching Database…

14.2K ·GitHub
这是什么?OR-Tools 是 Google 开源的组合优化软件套件,提供用于排班、路径规划、装箱和资源分配等问题的求解器和算法。
它究竟能解决哪类问题?约束规划(CP 和 CP-SAT)、线性规划(Glop 和 PDLP)、混合整数求解器的封装、装箱和背包问题、旅行商问题和车辆路径规划,还有最短路径、最大流等图算法。
怎么安装?下载二进制发行版或从源码构建——该套件支持 Make(旧方式)、CMake 和 Bazel 构建。装好之后,开发指南里的教程就是官方推荐的入门途径。
我用的是 Python,是不是必须写 C++ 才能用它?不用。OR-Tools 本身是用 C++ 写的,但它提供了 Python、C# 和 Java 的官方封装,所以你可以用这些语言直接调用同样的求解器。
它支持哪些平台?它已在 64 位 Ubuntu 18.04 LTS 及以上版本、搭配 Xcode 9.x 的 macOS Mojave,以及搭配 Visual Studio 2022 的 Windows 上测试过,所以 Linux、macOS 和 Windows 都能用。
我得自己编译吗,还是有现成的二进制包?两种方式都有——安装文档既介绍了用 Make、CMake 或 Bazel 从源码构建,也提供了二进制发行版,你可以直接用预编译包,省去搭建编译环境的麻烦。
CP-SAT 是什么?它是套件中两个约束规划求解器之一,通过布尔可满足性(SAT)的方法来求解 CP 问题。另一个是经典的 CP 约束求解器,它同时也充当车辆路径规划问题的路径求解器。
里面包含哪些图算法?最短路径、最小费用流、最大流和线性指派问题,这些都在图组件里实现,并带有各自的示例。
安装之后怎么学最有效?先跟着开发指南里的教程走一遍,然后看看 examples 目录——里面有 C++、.NET、Java 和 Python 的示例,还有 Jupyter notebook。
Creator
google
Size
1.3 GB
Stars
14.2K
Age
11y
Commits · 90 Days