问题标签 [or-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
134 浏览

java - 在 Kotlin 中使用 java 9 编译库

我正在尝试在 Kotlin 中使用来自 google 的 or-tools java 库,问题是在编译时,它给了我以下错误:

那么,是否可以在 Kotlin 中使用这个库,或者我应该用 Java 重写软件?

0 投票
0 回答
169 浏览

java - OR-Tools:限制给定范围的组合

我正在创建一个简单的求解器应用程序。您可以检查下面的代码。

现在我想将作为解决方案创建的组合限制为一定数量。(例如:最大 1000)。由于求解器默认使用步长值 1。输入结果2numberOfItems101。但如果我使numberOfItems3解决方案将超过 5000,如果numberOfItems4总解决方案将超过 10000。

如何构建一个能够根据输入更改步长值的求解器。在不影响分配的情况下。

我还有一些我在代码中共享的限制。一旦传播了最佳解决方案(例如 1000 个项目)。我将探索(缩放)更多解决方案(应用这些约束后,生成的 5000 个项目可能会变为 3000 个,我们将只显示其中的 1000 个)。

0 投票
2 回答
3530 浏览

java - 在 Windows 10 (Intellij IDEA) 上使用 gradle 项目安装 Google or-tools

是否可以在 IntelliJ Idea 上安装该库?

还是我必须使用 Visual Studio 2017?

如果是这样,我该如何安装它?我发现谷歌文​​档令人困惑。

0 投票
2 回答
86 浏览

c++ - google or-tools glop:如何创建指向 const 对象的指针数组?

我正在尝试将 google glop 用于研究项目官方网站

我正在使用源代码附带的示例

我可以看到如何在 glop 中创建变量。

但是,我不明白,如果在编译时没有给出变量的数量怎么办?如果程序从网络接收命令并即时构建问题。

我想应该有一个变量数组?

这是它应该如何工作的吗?有人可以在这里分享一些经验吗?

0 投票
0 回答
236 浏览

c++ - 谷歌或工具 C++ Eclipse

我正在尝试在 Linux 上使用 Or-tools C++。我已经安装了它们并成功生成了一个make-file。在命令窗口中,我成功运行了示例。现在我想将它与 Eclipse CDT 一起使用。我创建了一个新项目并完成如下:

  • 属性-> C/C++ 常规-> 路径和符号-> 库-> 添加

然后给出了我的 ' or-tools '' lib ' 文件夹的路径。我仍然无法在我的项目中使用 or-tools。任何建议都非常感谢。

0 投票
1 回答
388 浏览

python - 使用 Google OR 工具在类变量上添加约束

我有一组Employees,每个员工都有一个关联的开始时间和结束时间。在 Python 中,每个员工都是一个命名元组。

开始时间和结束时间是 datetime.time() 对象。例如,veronica = Employee(datetime.time(9, 30, 0), datetime.time(14, 30, 0), "Veronica")

我正在使用 Google OR 工具进行调度优化,并且我想添加一个约束,只允许在该时间范围内有空的人被安排在指定的班次中。

我该怎么做呢?谢谢。任何帮助深表感谢!

0 投票
1 回答
527 浏览

python - google or-tools 无法获得最佳 LP 结果,如 gurobi 示例

我正在尝试使用 Google 的 OR-Tools 从 P.Williams 的经典数学编程书中解决一个问题。Gurobi 演示中使用了相同的示例:http: //www.gurobi.com/resources/examples/food-manufacture-I

我的解决方案接近最优,但与 Gurobi 样本的答案不匹配(实际上这也是书中所说的正确答案)。

我根据约束检查了 OR-tools 解决方案,一切看起来都正确,但与最佳答案不匹配。

我是不是做错了什么,或者是因为 OR-tools GLOP 算法与 Gurobi 相比存在任何限制。

我的 GitHub 代码链接:https ://github.com/APA092/optimum_global/blob/master/food_produce.py

0 投票
1 回答
572 浏览

linear-programming - 在 Google OR 工具中实现 OR 约束?

我正在尝试通过约束来解决运输问题的变体,这使我能够指定卡车应该从某个来源到某个目的地的补给量。

例如:

我希望能够做到 D1 的需求由两个供应商满足,每个供应商提供 20 个。

在约束形式中,我认为这将是:

但我不知道如何在 Google OR-tools 中实现 OR 约束。我想我必须查看一个混合整数整数求解器,但我找不到任何可以解决我的问题的示例或文档。

0 投票
1 回答
877 浏览

algorithm - 线性规划:我可以制定一个目标来一次最大化多个变量吗?

假设我有以下系统说明的一些变量和约束: 在此处输入图像描述 灰线可以拉伸和收缩由它们顶部的范围给出的量。蓝线只是端点,显示灰线如何相互作用。

我的目标:我想使用线性规划来均匀地最大化灰线的大小,如图所示。你可以想象上面有弹簧的灰色线条,都同样向外推。一个糟糕的解决方案是将所有蓝线尽可能推到一侧。请注意,此描述中存在一些余地,并且可能有多种解决方案 - 我所需要的只是让它们合理均匀,并且没有一个值最大化挤压其他所有内容。

我尝试的目标函数只是最大化线大小的总和:

我很清楚这不是一个好的解决方案,因为这些项抵消了,并且一条线上的增加只会在另一条线上减少相同的数量,因此目标永远不会被加权平均分配变量之间的最大化。

我还尝试将每条线与其中间可能范围的距离最小化。对于 line B - A,其范围的中间(1,3)值为2。这是第一项的目标:

为了实现绝对值,我将术语替换为U并添加了额外的约束:

这与另一个目标具有相同的问题:差异始终与另一行差异的变化成正比。我认为如果我可以将差异平方,但我不能在线性求解器中输入它。

是否有一些目标函数可以实现我正在寻找的东西,或者线性求解器不是正确的工具?

如果有帮助,我正在使用 Google OR-Tools。

以下是写出的约束:

0 投票
1 回答
1559 浏览

python - 带时间窗口崩溃的容量车辆路线问题

我正在研究 Google OR Tools 共享的示例代码。此示例适用于带时间窗口的容量车辆路径问题。

当我运行这里共享的整个程序时。它运行良好并提供如https://developers.google.com/optimization/routing/cvrptw上所示的输出。

但是,当我将 self._num_vehicles 从 4 更改为 3 时。它挂起并且不给出输出。

我知道这 3 辆车将无法承受全部负载,这就是它卡住的原因。但是有没有可能它给了我 3 辆车的最佳路线,而留下了车辆无法满足的其余需求。

你能在这里建议一个修复吗?

代码示例: