简介
OR-Tools 是一种用于组合优化的开源软件,该软件力求从一组可能的大量解决方案中找出某个问题的最佳解决方案。以下是 OR 工具可以解决的一些问题示例:
- 线性规划:线性目标函数在线性约束条件下的优化问题
- 整数规划:线性目标函数在变量为整数约束下的优化问题
- 车辆路线:根据给定的限制条件(例如,“这辆卡车承载的重量不能超过 20,000 磅”或“所有送货都必须在两小时内完成”)。
- 调度:为一组复杂的任务找到最佳调度,其中一些任务需要先完成,然后才能在一组固定的机器或其他资源上执行。
- 箱装:将各种不同尺寸的对象装入具有最大容量的固定数量的箱中。
在大多数情况下,此类问题具有大量可能的解决方案,计算机过多无法搜索所有解决方案。为了解决这个问题,OR-Tools 使用了先进的算法来缩小搜索集的范围,以寻找最佳(或最接近)的解决方案。
学习文档:https://developers.google.com/optimization/introduction/python?hl=zh-cn
安装
Google 以 C++ 创建了 OR 工具,但也可以将其与 Python、Java 或 C#(在 .NET 平台上)结合使用。
如果您已有 Python(Linux、macOS 或 Windows 上的版本为 3.8 及更高版本)和 Python 软件包管理器 PIP,则可以按如下方式安装 OR-Tools: