问题标签 [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 投票
1 回答
1313 浏览

c++ - 如何调用 cplex 求解器?

我正在编写一个算法c++,我有一个主问题和一个子问题。所以我两次调用 cplex 求解器。第一次是当我称之为解决主要问题时,这是我的代码:

但它不起作用!当我把它不打印它cout<<"1" << endl;之后。IloCplex cplex_master(env);

0 投票
2 回答
1109 浏览

mathematical-optimization - 大数组上的 Cplex NullPointerException

我使用 cplex Java API。

使用以下代码:

所以我只使用两个布尔向量 x 和 y。此代码段适用于 inst.getSize() 为例如 25 的较小实例。但是,对于大小为 40 的实例,它在最后一行崩溃。

你有什么想法吗?我需要让它工作...

0 投票
1 回答
876 浏览

c++ - 创建 IloObjective 的正确方法

我正在使用 cplex 用 C++ 编写程序。我能够从一个文件中读取信息,这样我就可以创建一个包含百分比的矩阵和两个包含卖价和买价的数组。:

此外,我创建了两个最终应该优化的数组。

这是创建目标的正确方法吗?

0 投票
1 回答
856 浏览

cplex - 在 MathProg 中设置解中的初始值

我正在使用 MathProg 语言和 GLPK 来解决 MIP 问题。如果我有一个“好的”启发式整数解决方案,有没有办法在 MathProg 语言中设置初始解决方案(并由 GLPK 解决)?这是 CPLEX 中的一个很棒的功能,可以大大加快求解 MIP 的速度。谢谢!

0 投票
1 回答
1213 浏览

cplex - 如何在 CPLEX AMPL 中添加数组的数组

我需要定义一个参数,它是一个由 14 个不同大小的数组组成的数组:类似这样的“N{i}=[[3,4,2],[4,3,2,2],[3,2] ,...,[13,9,4]]

因此,例如在我的模型中 N[0] 将返回 [3,4,2] 我知道如何定义对称的二维数组,但无法弄清楚如何使用各种大小来完成它。

我希望问题很清楚,如果没有,请告诉我。

谢谢

0 投票
1 回答
2593 浏览

c++ - 变量的复杂约束函数

我有一个优化变量x 和一个常数 y。

我想表达一个约束

我试着做

但我得到了错误

有人可以帮我写一个这种形式的约束吗?

0 投票
3 回答
354 浏览

linear-programming - ampl/cplex 的线性函数形式 (a/b)

我正在尝试解决一个最小化问题,我想最小化一个表达式

其中 a 和 b 都是变量。因此,这不是一个线性问题......我怎样才能将这个函数转换为另一个函数(作为一个线性函数)。

0 投票
1 回答
1410 浏览

precision - CPLEX 中没有解决方案,输入变化非常小

我在 C++ 中使用 CPLEX 来解决集线器位置问题,即 MIP,并且我最近发现了一组非常精确的输入,CPLEX 认为这些输入是不可行的(即 CPXMIP_INFEASIBLE),即使该问题肯定是可行的。在 MIP Presolve 期间,CPLEX 中的问题似乎出现了分歧;通常在这一点上问题被简化为空问题,但不是在不可行的输入集中。

我发现对输入数据进行几乎任何轻微调整都可以切换 CPLEX 找到解决方案的能力。例如,将 250.242566 更改为 250.242567,或者甚至只是将每个输入值四舍五入到最接近的整数,都会给我一个完全有效的解决方案。

软化我拥有的两个松弛约束也将允许一个解决方案,但考虑到输入数据,这些约束不应该被打破。求解后这些约束变量的值近似为 0,但略为负,例如 -0.7e-10。(这是可疑的,因为值应该大于 0。)

到底是怎么回事?我一无所知。我尝试调整一些与精度相关的 CPLEX 变量(即 CPX_PARAM_NUMERICALEMPHASIS、CPX_PARAM_EPOPT、CPX_PARAM_EPMRK、CPX_PARAM_EPRHS),但没有任何帮助。输入数据本身对精度的要求并不高——输入中的最小值为 1.412,最大值为 1520.984907。

我将不胜感激任何意见或建议!


更新:

我注意到在 MIP 的 Presolve 期间,不可行问题与可行问题有所不同。

检查 CPXgetprestat 是否存在这两个问题,我可以看到这两个问题之间的一个显着区别是在 pcstat 向量中,一个变量不能在不可行集中聚合出来(即,在不可行问题中的值为 0,而在可行问题中为 -4) .

此外,CPXgetprestat 的 ocstat 和 orstat 向量在不可行问题中各有一个非零值(可行问题没有,因为它已被简化为空问题),但我不确定如何处理这两个值。如果 orstat[0] == 7 和 ocstat[0] == 1,这是否意味着在 Presolve 之前的第 7 行和问题的第一个变量中有一些值得注意的地方?我将如何检查这个?

我已经比较了两个问题中 CPXwriteprob 的输出,除了我将输入值更改了 0.0001 以使问题不可行之外,没有什么不同。

0 投票
1 回答
9335 浏览

c++ - 如何使 cplex 不输出到终端

我正在使用 IBM cplex 优化器来解决优化问题,并且我不想要优化器所做的所有终端打印。在 IloCplex 或 IloModel 类中是否有成员将其关闭?这些是关于削减和迭代的印刷品。打印到终端是昂贵的,我的问题最终将是数百万个变量,我不想在这些多余的输出上浪费时间。谢谢。

0 投票
2 回答
2853 浏览

java - 在哪里可以找到 Cplex 库(不是 AIMMS 的 GUI)?

我想将 CPLEX 用作 java 库。但是,我没有找到用于此目的的下载站点。如果我理解正确的话,谷歌搜索提供了一个 AIMMS 站点,它只是该工具的 GUI。

你能帮忙吗?我的操作系统是 Mac OS X ,所以我不能使用 AIMMS 的学术许可证。cplex.jar 对我来说就足够了。但我看不到它的位置......谷歌在这里没有帮助。

谢谢。