问题标签 [opl]

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 投票
1 回答
305 浏览

java - 具有 Java 数据文件的 Cplex OPL 模型

我是 cplex 的新用户。我想使用 java 代码生成数据文件以在 cplex opl 模型中使用它。我应该在我的 opl 代码和我的 java 代码中插入什么命令,这样我才能做这样的事情。谢谢你。

0 投票
0 回答
342 浏览

cplex - 对计数标准偏差的约束始终为零

我目前正在尝试解决运动队的日程安排问题。我的决策变量声明为:

在这种特定情况下,范围从Games哪里开始,从哪里开始。这形成了一个 20 x 2 的矩阵,表示每场比赛的球队。0..19Teams0..9

是一个 3 场比赛矩阵的示例,它显示第 3 队在第一场比赛中对阵第 7 队,然后是第 2 队对第 4 队,最后以第 9 队对第 1 队结束。

在我的限制条件下,我试图表达每支球队应该打接近相同数量的比赛。我表达这个约束的尝试如下:

我相信这个公式是合理的 - 但是,我觉得我遇到了某种未定义的行为,因为即使 CPLEX 说它返回[18, 18, 0, 0, 0, 0, 0, 0, 0]9 个团队案例的“最佳”解决方案,约束也没有得到满足。

手工计算,我得到一个标准差7.59,显然不小于 1。为了验证这一点,我将以下内容放在模型的结果数据部分:

这给出了以下输出:

这进一步证实了我写的关于约束的一些事情是不正确的。为了进一步调试这种情况,我使用了以下约束:

Wherefoo被声明为一个整数数组[1, 100, 10000, 1000000, 100000000]- 它的标准偏差绝对不小于 1。正如预期的那样,该模型被证明是不可行的,这表明标准偏差按预期工作,因此问题必须在我构建计数数组的方式。然后我尝试了以下约束:

我的理论是,如果标准偏差被处理为非零,那么这应该会使模型不可行。令我惊讶的是,该模型以上述相同的简单[18, 18, 0, ...]解决方案通过。通过更改2.999...为 3,模型不可行。因此,我得出结论,我计算的标准偏差在约束中评估为 0,但在搜索结束后,它在结果数据部分中被正确计算。

在这一点上,我确信问题源于我计算计数数组all(t in Teams) count(all(g in Games, s in 0..1) plays[g][s], t)playcounts以上)。

此外,以下约束非常有效:

这使我相信问题在于all(t in Teams)...约束的一部分。为了检验这个理论,我使用了以下约束:

理论上,这应该是一个多余的约束,因为返回的平凡解决方案以[18, 18, 0, ...]. 令我惊讶的是,这创造了一个不可行的模型。即使用== 0代替== 18,该模型仍然不可行。因此,我想弄清楚这个数字在评估什么。为此,我添加了以下决策变量:

并将目标函数更改为:

具有以下约束:

这导致了一个具有最佳解决方案的模型。解决方案已a设置为-9007199254740991。如果我尝试使用minimize此模型,则会发生相同的结果。

如果我尝试约束a为非负数,那么 CPLEX 崩溃并带有### UNEXPECTED ERROR.

最后,我的问题是:

  1. 我是否违反了 OPL 的某些规则并以我不应该的方式使用语句?
  2. 如果以上是肯定的,是否有一种合法、有效的方式来表达我正在寻找的约束?
  3. 如果以上都不是,那么为什么 OPL 无法计算我的约束中的标准偏差?
0 投票
1 回答
181 浏览

optimization - CPLEX 优化 - 在单台机器上规划一系列产品

这是我的问题。比方说,我有 10 种产品要打包。所有 10 种产品的包装都在同一条生产线/机器上完成。

不同产品之间有不同的设置时间。例如,从产品 1 到产品 2 的设置时间(您必须调整高度,并进行小清理)为 30 分钟。从产品 2 到产品 1(只需调整高度,无需清理),设置时间为 15 分钟。从产品 1 到产品 3,需要 5 分钟,以此类推。

我正在尝试最小化设置时间。

我该如何解决这个问题?我的实际问题有 100 种不同的产品(所以是 100 x 100 矩阵)

它与旅行推销员问题非常相似。不同之处在于,您不必绝对离开产品 1(或 TSP 中的城市 A),也无需在最后返回产品 1。

这是我过去使用的 TSP 代码。我可以修改它来解决我的问题吗?或者我还有其他方法可以做到吗?

谢谢!

0 投票
0 回答
100 浏览

ruby-on-rails - Ruby 初始化方法不会抛出错误数量的参数错误

我已经为我的 Rails 应用程序设置了 IRB。

我用过以下宝石

当我使用下面给出的初始化方法创建一个类时

现在,我称之为Test.new

它应该为错误数量的参数抛出错误,但它没有抛出。

这是屏幕截图,

在此处输入图像描述

这是我设置的heroku应用程序的链接。Heroku 演示应用

0 投票
0 回答
370 浏览

vector - 线性规划 / 向量 / opl / cplex

我希望有一个人可以帮助我。我在 cplex studio 中实现了以下最大化问题:

现在我想获得不止一个向量 pb。让我们说 k 个向量,每个向量都有 b 个元素。我引入了另一个变量 pbk[b][k],其中 k 给出了向量的数量。不幸的是,cplex 返回 k 次相同的向量。我还在 Gurobi 中实现了相同的模型,它返回 k 个不同的向量。

有谁知道如何在 cplex 中获得不同的向量?

谢谢!

0 投票
0 回答
170 浏览

optimization - dvar float+ 变量包含负解

我正在使用 IBM ILOG CPLEX 优化工作室解决线性规划问题。我的决策变量之一是 float+ 类型。我将其定义为

dvar 浮点+ A[P][G];

CPLEX 将此变量的解生成为其中一个元素为负数(等于 -4e-10)的矩阵。

这可能是什么原因?

0 投票
1 回答
82 浏览

cplex - 如何为 CPLEX OPL 定义搜索过程?

是否有使用 OPL 对问题进行建模并且模型指定搜索过程的示例(我尝试查找,但找不到任何示例)?我有兴趣了解如何准确指定搜索过程。我在 /examples 目录中找不到指定一个的 OPL 示例。

0 投票
1 回答
5059 浏览

cplex - CPLEX 错误 1016:促销版

我在 CPLEX oplide 中编写了用于求解整数规划模型的代码,如下所示:

它显示 CPLEX 错误 1016:促销版本。超出问题大小限制。我将感谢您为我提供定位问题的想法。

0 投票
1 回答
250 浏览

optimization - 如何在网络服务器上运行 cplex 模型

我正在寻找一种方法来在专用于运行 LAN 上的 CPLEX 模型的机器上运行我的整数程序模型。目前,我使用命令行来运行 OPL 模型(在同一系统上)。如何在网络机器上运行我的 OPL 模型?

在此先感谢您的帮助

拉姆

0 投票
0 回答
263 浏览

matlab - Matlab 中的 Cplex 速度与 OPL

我在 OPL 工作室有一个优化模型。我决定在 Matlab 中使用 Cplex,因为它提供了更高的自由度。但不幸的是,我意识到 Matlab 比 OPL 慢得多。更具体地说,与 OPL 相比,Matlab 中的“根节点处理(b&c 之前)”花费的时间要长得多,而 Matlab 中的“并行 b&c,8 个线程”与 OPL studio 相同甚至更快。问题是什么。

有谁知道是什么问题?更重要的是,如何解决?谢谢