问题标签 [cplex]

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 投票
3 回答
1421 浏览

mathematical-optimization - CPLEX 中的可行性问题

是否有 api 可以解决 CPLEX 中一组凸约束的可行性问题(是否存在可行点)。

0 投票
1 回答
295 浏览

integer - 在 ILP 中找到最大值花费了太多时间,为什么?

简而言之,我们现在正在尝试将 IQP 更改为 ILP。旧的实现大约需要 2 天才能完成,现在使用线性工具——它应该会加快速度。基本上问题是最大化(大约 50 个二进制变量):

$$\sum_{g=1}^{5}sum_{p=1}^{10} ( S[p]x[g][p]-疲倦[g][p]-睡眠[g][p ])$$

更新

我认为 David 走在正确的轨道上,但是当我尝试使用奖励变量最大化表达式时,它们每次都为零,为什么?在一些代码下面,分数可能像S[1..10]=[1,2,3,4,5,6,7,8,9,10];.

0 投票
4 回答
5733 浏览

matlab - 解决多目标优化:CPLEX 还是 Matlab?

我必须解决一个多目标问题,但我不知道我应该使用 CPLEX 还是 Matlab。你能解释一下这两种工具的优缺点吗?非常感谢!

0 投票
1 回答
434 浏览

java - 具有 Cplex 的动态 CSP

你知道是否有办法改变已经解决的 Cplex 约束优化问题中的一些约束,并再次解决它,但结果尽可能接近以前的解决方案。

例子:

任务分配给不同的资源。资源 1 有任务 A、B 和 C,资源 2 有任务 D、E 和 F。

当我添加资源 3 时,我希望新分配类似于:

但 Cplex 可能会返回如下内容:

或任何其他可能与初始解决方案完全不同的组合。

我认为这个问题被称为动态约束满足问题。

我一直在做很多研究,但似乎没有一种简单的方法可以做到这一点。看起来我必须自己实现(没关系)。在那种情况下,你建议我应该如何解决这个问题?

谢谢

0 投票
1 回答
1821 浏览

c# - 如何通过 cplex .net API 向现有模型添加约束?

在 API 中,大多数情况下您首先通过 AddRange 添加约束,然后通过 NumVar 添加列/变量。然后调用解决。之后,如何添加额外的约束?

0 投票
2 回答
2491 浏览

c++ - 错误:“'typedef'之前的预期构造函数、析构函数或类型转换”

我在使用 C++ 语言和 IloCplex 框架时遇到了编译问题。

我首先尝试使用 makefile 编译整个项目,但出现意外错误,类头调用AbstractModel,为了确保此错误不是由其他文件引起的,我决定只使用此命令编译该类:

g++ -o AbstractModel.o -c -I/path/to/cplex/include -I/path/to/concert/include -DIL_STD AbstractModel.cpp

然后我意识到我得到了同样的错误信息,这里是AbstractModel类:

http://pastebin.com/B9YiqKUS

和 type.h 类:

http://pastebin.com/trQ6BDBK

错误如下:

在从 AbstractModel.hpp:12 包含的文件中,从 AbstractModel.cpp:7: type.h:6: error: 'typedef' 之前的预期构造函数、析构函数或类型转换 在从 AbstractModel.cpp:7 包含的文件中:AbstractModel.hpp :50: 错误: 'Vector' 没有命名类型 AbstractModel.hpp:51: 错误: 'Vector' 没有命名类型

有什么建议么 ?

PS:Cplex 在这台计算机上工作正常,我有另一个项目具有相同类型的类,可以使用相同的命令完美编译。

0 投票
2 回答
1205 浏览

c++ - IBM CPLEX - 如何取回对命名变量的引用?

我正在使用 IBM CPLEX 使用 C++ API 对约束程序进行建模。

我已经声明了一个 bool var 数组:

然后我将 3 个变量添加到数组中并为它们分配名称,如下所示:

我的问题是:

我是否需要知道该数组中变量(0,1 或 2)的索引才能在表达式中引用/使用该变量?

我似乎找不到使用分配名称“a”、“b”或“c”来引用变量的方法。

0 投票
3 回答
1491 浏览

c++ - 为什么我只能得到我的 LP 的整数解?

我有一个整数规划模型,我想用 CPLEX 解决它的线性松弛问题。最初,我将变量定义为:

但现在我应该将它们放宽到 , 的范围0<=x<=10<=Y<=1。为了做到这一点,我将定义更改为:

但它仍然给了我一个整数解决方案。我应该怎么做呢?

0 投票
1 回答
1218 浏览

java - 如何增加 Java 和 cplex 内存使用量

我们开发了一个 Java 代码并使用 cplex 来解决一个 lp 模型。

我们遇到内存错误。

当我们使用命令行选项增加 cplex 内存使用时-Xmx1450,我们收到 cplex out of memory 错误,当减少它时 java 给出堆空间错误。我们有 6GB 内存和 CPU Intel i7 950。

内存使用量永远不会增加到 38% 以上,而且我们不能增加到-Xmx 以上1450。构建模型时发生错误(添加约束)。

0 投票
1 回答
2624 浏览

c++ - 如何用 cplex 解决 LP 松弛

我有一个 MIP 模型,我想要解决它的 LP 松弛问题。

我没有改变我的变量声明,但最后而不是

我写:

但它给了我一个错误,说solveRelaxed不是IloCplex的成员!我怎样才能摆脱这个错误?谢谢

为了使用Model.add(IloConversion(env, variable, ILOFLOAT));矩阵,我应该在其中一个维度上使用 for 循环吗?在我的例子中,我有一个矩阵 x(i,j) 和一个数组 z(j),我这样写转换:

for(IloInt i=0; i<I; i++){ Model.add(IloConversion(env, x[i], ILOFLOAT)); } Model.add(IloConversion(env, z, ILOFLOAT));