问题标签 [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.
java - 在 ILOG CPLEX Optimizer java API 中开始使用 MIP
我找不到在 CPLEX java API 中有效使用 MIP 启动的方法。
我有一个线性问题,我需要通过仅更改一个约束或更改目标来解决多次,因此我认为从解决方案开始(使用 MIP 启动)可能是加快计算速度的好方法。
因此,为了做到这一点,在我第一次解决问题后,我将所有变量保存在一个 IloNumVar 数组中,并使用 cplex.addMIPStart 将其加倍传递给我的其他 cplex 对象。
问题是它并没有加快任何速度,而是让它变慢并给我这个消息:
警告:从 1 个 MIP 开始没有找到解决方案。
所以也许我不应该给 MIP 启动所有变量,但我怎么知道要给它什么变量?
我也试图改变 MIP 启动努力,但它似乎没有任何区别......
为什么它不能使计算更快?有没有更好的方法来解决只有一些差异的许多问题?
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];
但我离这个结果还很远。
有人有想法吗?
谢谢
c# - 如何解决线性规划的有效方法
我对线性规划进行了研究,我需要解决一个复杂的(数百个变量和约束)问题。有很多方法可以在独立求解器中解决 LP(这不是问题)。但是,我需要从 C# 应用程序中解决它。我尽我所能找到如何在 C# 代码中解决 LP 的方法,但我发现(并且可用)的唯一东西是 CPLEX 和它的 .NET Concert 库。这看起来很不错(实际上我现在使用它并且效果很好)但是一些大型复杂问题的制定是一场真正的噩梦!可以用 AMPL 写成 10 行并且任何人都可以理解的内容,在 C# 中需要大约 200 行。
您是否知道任何 C# 库可以允许以某种有效(友好)的方式提供问题模型定义?(CPLEX 接受 LP 格式,但是当您尝试解决具有大量变量的问题然后算法运行很长时间时,它可能会增长到数百兆字节)或者我听说有可能将 AMPL 转换为 LP 格式然后解决它由 CPLEX C# 库提供,但听起来效率不高 :-)
简而言之,我有 C# 项目。我需要解决 LP 问题。我需要非常有效地解决它......所有这些都以某种相当简单的方式(而不是数百条混乱的线在for循环中添加变量和约束等)。
c++ - 循环中变量的C++ cplex值
我的程序有问题。我知道在哪里,但我不知道为什么。
这是我的代码:
当 pro 和 empl 的值相同或 empl 小于 pro 时,一切正常。但如果 empl 不仅仅是 pro,它就不再起作用了。
有谁知道为什么 empl 不能 > pro 吗?
谢谢
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 的支持,但响应很慢,所以我想我会问这个社区。
谢谢!
c++ - 访问冲突写入位置 c++
我是 c++ 和 cplex 的新手,因此将不胜感激任何帮助。问题:我正在运行列生成代码。我的代码如下所示:
在第二次优化中(第二次进入 while ),它在 status = CPXdualopt (env, lp); 处提供访问冲突写入位置。
任何想法?
c++ - Cplex 随机数 (c++)
我之前在 C++ 中做了一个随机数,但当我尝试使用 CPLEX 时它根本不起作用。
我想知道如何在 cplex 中做随机
我在 C++ 中做随机的方式:
我试试这个:
c++ - 我的初始化有什么问题?
这行代码是我的 c++ cplex 库优化函数定义的一部分。
但我收到以下错误:
为什么会这样?我应该如何改变这个?谢谢
c++ - C++ valgrid 错误:大小为 8 的读取无效,地址 0x8 未堆栈、malloc 或(最近)释放?
我编译了我的代码并运行了它,但它给了我分段错误。
所以我使用 valgrid 测试了我的可执行程序。我收到以下消息:
我的代码是这样的。任何人都可以帮我调试吗?谢谢!