问题标签 [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 回答
3392 浏览

constraints - CPLEX/OPL 模型 - 具有子集索引的约束

我目前正在使用 IBM ILOG CPLEX Optimization Studio 对 CPLEX/OPL 模型进行编程。我在使用包含子集并依赖于另一个参数/变量的总和或索引时遇到问题,例如检查以下约束:NB 2,3,4,8)。

任何人都可以帮助我正确地合并这些约束吗?

请在附件中找到源代码:

0 投票
1 回答
49 浏览

java - 使用 java swing 和 OPL 工作室的自定义视图

我在 OPL 工作室中使用 CPLEX,我想在使用 java swing 制作的界面上显示结果(custumoe 视图),我的问题是我不知道如何执行此操作,有允许执行此操作的 API ? 或任何东西

0 投票
0 回答
1327 浏览

java - IBM Optimization Studio CPLEX OPL jar 返回错误的版本

我一直在 Eclipse 中使用 IBM OPL Java API 库在 Java 中运行我的 OPL 模型和数据文件。这在 Eclipse 中运行良好,但现在我已将程序编译为可执行 jar 并尝试在 Windows 7 命令行上运行它,但出现错误。我自己的所有代码都运行良好,直到包含 ilog.opl.IloOpl 对象的第一行,即出现以下错误:

但奇怪的是……我有 Studio 12.6.1,而不是 12.6.0。我在 C:\Program Files\IBM\ILOG\CPLEX_Studio1261\opl\lib 中引用 OPLall.jar 文件,并且我的 PATH 也包含此文件夹。

我尝试谷歌搜索并遇到了这些相关问题=

不同之处在于,在这些问题中,程序似乎可以识别正确的版本。出于某种原因,我的程序正在寻找错误的文件夹和错误的文件(opl1260 不存在,但 opl1261.dll 就在文件夹中)。

OPLall.jar(我从 IBM 文件夹复制)清单包含以下内容:

有谁知道如何解决这个问题?

编辑:我还重新安装了 Microsoft Visual C++ 2010 SP1 Redistributable Package (x64),因为错误日志中提到了这一点,但这并没有改变问题。我也尝试重新安装 IBM Studio,但同样的问题。

0 投票
1 回答
836 浏览

cplex - IBM Optimization Studio CPLEX OPL 有问题吗?

我使用 IBM Optimization Studio CPLEX(OPL) 开发了一个程序,我尝试这样做:

我做了类似的事情:

这给了我这个错误:“不允许决策变量(或表达式)”,我尝试了很多解决方案但它不起作用,我在任何文档、表达式或方法中都找不到的问题? !

编辑

但是我没有什么要补充的来解释这一点,我在我的主题中编写的第一个代码,我应该使用工作室 CPLEX 创建它。

我试图最小化系统产生的电力成本,所以在主题内,我必须检查 T 期间每次模拟的 if 条件,如果 if 条件正确,则执行下一行代码,否则我们将传递给另一个 Pb(t) 值?!

问题是在 if condition 和 inside subject to 中使用采样时间 T!

0 投票
0 回答
95 浏览

variables - OPL/CPLEX 中的变量约束

我想在 OPL 中实现变量约束。

forall(产品中的 k,周期中的 t,t..周期中的 z)

z 假设对 t 之后的当前和所有未来期间进行建模。该模型说它不可能实现可变约束。我该如何表达约束?

这是一条出路吗?forall(Produkte 中的 k,Perioden 中的 t,Perioden 中的 z:z>=t)

0 投票
1 回答
3692 浏览

c++ - 错误:将“操作员”声明为非功能

我的编译中有一个我无法弄清楚的错误。我通常是一名 C 编码员,而且我才开始将我的整个程序转换为使用 C++。所以,我将我的 C 文件重命名为 CC(交叉编译),通常我只需要手动编辑错误。然而,这对我来说是个谜——不确定这是否是 C++ 主义。

这是感兴趣的 OPL 玩家。

以下代码有问题:

我收到了这个代码块的许多错误:

http://i.imgur.com/WHf5Q3g.jpg

所以看来我没有正确地将其转换为 C++。如果我能请某人以正确的方式编写它并向我解释,我将不胜感激!提前致谢!~卡萝兰

0 投票
1 回答
338 浏览

declaration - 集合声明中的 CPLEX OPL 错误

我正在 CPLEX OPL 中实现两阶段方法。

我想创建一个集合,其中包含在我的初始阶段获得的变量的单一值。为了初始化我的第二阶段,我创建了一个 getValue(X) 来恢复在 i,j,k 中索引的布尔变量的最佳值。后来,在索引“j”和“k”的双循环中,我尝试沿 i 维声明“X”的单一值的集合“S”。

但是,我没有做出正确的集合声明......我已经尝试过使用:

但我总是得到错误:“非法使用保留关键字”。我知道我的集合声明不好,但不知道如何声明它以使我的集合 S 包含 X[i][j][k] == 1 的 I 的值。

你能提供一些帮助吗?此致

0 投票
1 回答
115 浏览

integer - CPLEX OPL:确保满足需求到期日期的约束

我有一个 CPLEX OPL 模型,可以最大限度地减少城市之间货物的总运输成本。x 是我的主要(整数)决策变量。下面提到的所有其他变量都是整数。我想为这个模型添加截止日期。这意味着时间 t(例如 3)的需求必须在周期 1 到 t(例如 1 到 3)内运输。但是,我无法在 1 到 t 期间求和。

对此进行编码的正确方法是什么?

0 投票
2 回答
131 浏览

scheduling - 强制执行无延迟计划 IBM OPL (CPLEX)

我在 IBM OPL 中创建了一个时间表:

如果 CP-Module 生成解决方案,则该解决方案有时不是非延迟解决方案。然而,这是不允许的,因此我想强制执行非延迟时间表。

我在主题部分尝试了不同的解决方案......

...但是当工作 t-1 后面没有工作 t 时,这些失败(显然)。

谁能给我一个关于如何解决这个问题的提示?

亲切的问候,弗兰兹

0 投票
1 回答
1684 浏览

python - 0-1背包使用python cplex

我正在尝试解决 0-1 背包问题的轻微修改,其中每个项目都是从中选择一个值的值向量,而不是使用 Python Cplex 的标量。这是混合整数问题的变体。我为此问题编写了一个IBM OPL解决方案,但无法弄清楚如何使用Python Cplex来解决它。我使用 IBM OPL 的解决方案是:

我们可以将这个问题作为oplrun -v knapsack.mod. 这个问题的解决方案是

问题的数学公式为:

背包数学公式

我正在尝试使用 Python CPLEX 获得与上面相同的解决方案。以下代码是我尝试解决的问题,但它不正确。我不确定如何解决它: