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

java - 在 ILOG CPLEX Optimizer java API 中开始使用 MIP

我找不到在 CPLEX java API 中有效使用 MIP 启动的方法。

我有一个线性问题,我需要通过仅更改一个约束或更改目标来解决多次,因此我认为从解决方案开始(使用 MIP 启动)可能是加快计算速度的好方法。

因此,为了做到这一点,在我第一次解决问题后,我将所有变量保存在一个 IloNumVar 数组中,并使用 cplex.addMIPStart 将其加倍传递给我的其他 cplex 对象。

问题是它并没有加快任何速度,而是让它变慢并给我这个消息:

警告:从 1 个 MIP 开始没有找到解决方案。

所以也许我不应该给 MIP 启动所有变量,但我怎么知道要给它什么变量?

我也试图改变 MIP 启动努力,但它似乎没有任何区别......

为什么它不能使计算更快?有没有更好的方法来解决只有一些差异的许多问题?

0 投票
2 回答
3920 浏览

c++ - Cplex C++ 多维决策变量

我是使用 cplex 的新手,我尝试在互联网上查找一些信息,但没有找到明确的内容来帮助我解决问题。

我有 P[k] k 将等于 1 到 4

我有一个决策变量 x[i][k] 必须等于 0 或 1(也是 p[k])

i 介于 1 到 5 之间

现在我喜欢这样

循环应该做这样的事情:

x[1][1] + x[2][1] + x[3][1] + x[4][1] + x[5][1] => 2 * p[1];

x[1][2] + x[2][2] + x[3][2] + x[4][2] + x[5][2] => 2 * p[2];

x[1][3] + x[2][3] + x[3][3] + x[4][3] + x[5][3] => 2 * p[3];

x[1][4] + x[2][4] + x[3][4] + x[4][4] + x[5][4] => 3 * p[4];

但我离这个结果还很远。

有人有想法吗?

谢谢

0 投票
2 回答
1705 浏览

c# - 如何解决线性规划的有效方法

我对线性规划进行了研究,我需要解决一个复杂的(数百个变量和约束)问题。有很多方法可以在独立求解器中解决 LP(这不是问题)。但是,我需要从 C# 应用程序中解决它。我尽我所能找到如何在 C# 代码中解决 LP 的方法,但我发现(并且可用)的唯一东西是 CPLEX 和它的 .NET Concert 库。这看起来很不错(实际上我现在使用它并且效果很好)但是一些大型复杂问题的制定是一场真正的噩梦!可以用 AMPL 写成 10 行并且任何人都可以理解的内容,在 C# 中需要大约 200 行。

您是否知道任何 C# 库可以允许以某种有效(友好)的方式提供问题模型定义?(CPLEX 接受 LP 格式,但是当您尝试解决具有大量变量的问题然后算法运行很长时间时,它可能会增长到数百兆字节)或者我听说有可能将 AMPL 转换为 LP 格式然后解决它由 CPLEX C# 库提供,但听起来效率不高 :-)

简而言之,我有 C# 项目。我需要解决 LP 问题。我需要非常有效地解决它......所有这些都以某种相当简单的方式(而不是数百条混乱的线在for循环中添加变量和约束等)。

0 投票
2 回答
1317 浏览

c++ - 循环中变量的C++ cplex值

我的程序有问题。我知道在哪里,但我不知道为什么。

这是我的代码:

当 pro 和 empl 的值相同或 empl 小于 pro 时,一切正常。但如果 empl 不仅仅是 pro,它就不再起作用了。

有谁知道为什么 empl 不能 > pro 吗?

谢谢

0 投票
1 回答
400 浏览

cplex - GAMS CPLEX 理解 IIS 报告



我将 GAMS 与 CPLEX 优化器一起使用。在 CPLEX 优化器中有一个选项“iis”,以便它生成不可约不一致的约束集。如果我将 iis 选项设置为 1(或者我认为是 0 以外的任何值,但我只测试了 0 和 1),则会列出 iis 方程和变量。

但我的问题是这个列表没有以有用或易于使用的方式给出。它不会在作为 IIS 一部分的方程式集中列出特定方程式,而是列出代码中可以找到该方程式的行。但是这条线是由GAMS自己生成的,以这种形式来理解,既不实用也不友好。

例如,我收到一个 iis 报告,其中包含一堆行,每行如下所示:

=E'upper:'445793'<7432。

但我知道可以将所有这些乱七八糟的内容翻译成更用户友好的内容,例如:

Upper: purchase_limit(12385, 972130, t443) < 7432.83

事实上,我以前什至收到过这种格式的结果。但我似乎无法复制这种更友好的格式。

我联系了 GAMS 的支持,但响应很慢,所以我想我会问这个社区。

谢谢!

0 投票
1 回答
738 浏览

c++ - 访问冲突写入位置 c++

我是 c++ 和 cplex 的新手,因此将不胜感激任何帮助。问题:我正在运行列生成代码。我的代码如下所示:

在第二次优化中(第二次进入 while ),它在 status = CPXdualopt (env, lp); 处提供访问冲突写入位置。

任何想法?

0 投票
1 回答
973 浏览

c++ - Cplex 随机数 (c++)

我之前在 C++ 中做了一个随机数,但当我尝试使用 CPLEX 时它根本不起作用。

我想知道如何在 cplex 中做随机

我在 C++ 中做随机的方式:

我试试这个:

0 投票
2 回答
316 浏览

c++ - 我的初始化有什么问题?

这行代码是我的 c++ cplex 库优化函数定义的一部分。

但我收到以下错误:

为什么会这样?我应该如何改变这个?谢谢

0 投票
1 回答
1601 浏览

c++ - C++ valgrid 错误:大小为 8 的读取无效,地址 0x8 未堆栈、malloc 或(最近)释放?

我编译了我的代码并运行了它,但它给了我分段错误。

所以我使用 valgrid 测试了我的可执行程序。我收到以下消息:

我的代码是这样的。任何人都可以帮我调试吗?谢谢!

0 投票
2 回答
3736 浏览

mathematical-optimization - 求解整数线性程序:为什么求解器声称可解实例不可行?

我正在尝试解决整数规划问题。我已经尝试过使用SCIPLPSolve

例如,给定 A 和 B 的最终值,我想在以下 C# 代码中求解 valA:

我以 lp 格式将其实现为这个整数程序(截断除法会导致一些并发症):

然后试图解决它:

但是,我知道有一个可行的解决方案,因为我知道一个有效的变量赋值。添加以下条件会导致找到解决方案:

两个不同的求解器声称这个可行的问题是不可行的。我是否违反了一些不成文的条件?这是怎么回事?有没有真正解决问题的解决方案?