首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存不足:从matlab运行cplex

内存不足:从matlab运行cplex
EN

Stack Overflow用户
提问于 2013-09-17 19:26:21
回答 2查看 1.1K关注 0票数 0

我使用模型库YALMIP在Matlab中编写了一个线性程序,我想用Cplex来解决它。程序构造良好,然后调用cplexlp来解决问题,但Cplex内存不足,我得到以下错误:

代码语言:javascript
运行
复制
Parallel mode: deterministic, using up to 2 threads for concurrent optimization.
Aggregator has done 101 substitutions...
Tried aggregator 1 time.
LP Presolve eliminated 720048 rows and 176294 columns.
Aggregator did 52806 substitutions.
Reduced LP has 383867 rows, 454203 columns, and 1324735 nonzeros.
Error using cplexlp (line 254)
CPLEX Error  1001: Out of memory.

当我将问题导出到lp文件时,Cplex读取lp文件并很好地解决了问题。

我的第一个想法是Matlab不能分配更多的内存,但是当有超过1 GB的空闲RAM时,它不会分配超过1.3 GB的内存。我尝试将交换空间增加到5 GB,但没有起作用。

我还尝试更改了Cplex参数。我为workMem参数输入了一个更大的值(2000.0),但它不起作用。然后我尝试将内存强调参数设置为1,它将矩阵从58MB压缩到17MB,但它只在50%的情况下解决了这个问题。

如果有人有解决这个问题的想法,我会非常感谢你的帮助。谢谢

计算机特性: Windows 7 32位英特尔赛扬2.5 Ghz,内存4 GB

EN

回答 2

Stack Overflow用户

发布于 2013-09-18 00:08:44

我经常发现,当我使用32位版本的Windows时,所有类型的软件都变得不可靠,或者在某个时候达到了1 1GB到1.6 1GB的内存限制。也许64位版本会工作得更好。

票数 1
EN

Stack Overflow用户

发布于 2014-09-09 19:24:26

内存泄漏的主要原因是CPlex。在多次尝试Cplex之后,我通过在Matlab中使用GUROBI解决了我的问题,没有遇到任何内存泄漏。此外,运行时间减少了大约%30。总之,我建议您将求解器更改为Gurobi。这是值得的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18848601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档