Google OR-Tools简介

Posted Lenskit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google OR-Tools简介相关的知识,希望对你有一定的参考价值。

组合优化可以用来从很多可能解中寻找到问题的最佳解。

比如下面这些例子:

一、车辆路线:为在给定限制条件下提取和交付包裹的车队找到最佳路线(例如,“此卡车不能承载超过20000磅”或“所有交付必须在两小时内完成”)。

二、调度:为一组复杂的任务找到最佳的调度,其中一些任务需要先于其他任务在一组固定的机器或其他资源上执行。

三、装箱:尽可能多地将各种尺寸的物品装入存放固定数量以及有最大承重的箱子中。

大多数情况下,这样的问题有庞大数量的解——多到计算机算不出来。为了解决这个问题,OR-Tools使用最新的算法来缩小搜寻范围,这样我们可以找到一个最优解(或接近于最优)。

OR-Tools可以解决下面几种问题:

约束规则:

一种寻找有约束问题可行的解决方法的技术(例如一个房间不能同时有两个社交事件,或者一次最多只能录制五个电视节目)

线性混合整数规划:

Glop线性优化器在给定一组线性不等式作为约束条件的情况下,找到线性目标函数的最佳值(例如将人员分配到工作岗位,或者最小化成本的同时找到一组资源的最佳分配)。Glop和混合整数编程软件SCIP都可以通过Google Sheets和Google Apps Script获得。

车辆路线:

一个用来解决给定约束条件下最佳行车路线的特定库。

图算法:

 用于在图、最小成本流程、最大流和线性和分配中查找最短路径的代码。

以上是关于Google OR-Tools简介的主要内容,如果未能解决你的问题,请参考以下文章

Google OR-Tools简介

如何使用 or-tools 和 google-distance 矩阵创建车辆路线优化问题,同时仅取消结束位置?

如何获取 Google OR-Tools 的进度日志?

Google OR-Tools:最小化总时间

OR-tools:根据python中另一个维度的积累添加一个维度(具体是每24小时使用的车辆成本)

OR-Tools - 车辆路线问题 - 防止从初始解决方案中删除节点