首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是不是说明我的记忆有问题?

这是不是说明我的记忆有问题?
EN

Stack Overflow用户
提问于 2019-08-21 22:17:18
回答 1查看 159关注 0票数 1

我有一个包含大约400万个变量和大约400万个约束的LP问题。我使用gurobi来解决这个问题。我的电脑有4个内核和8 GB内存。

根据日志文件,找到最优解大约需要100秒。然后释放CPU,但内存仍几乎已满。它挂在那里,几个小时内什么都不做,直到解算后继续运行脚本(例如打印命令)。

结果=opt.solve(模型,tee=True)

打印(“模型已解决”)

我使用障碍方法与交叉禁用,这是最好的效果。我还尝试了使用不同数量的线程,结果发现使用4个线程在挂起时间方面是最好的(但仍然是几个小时)。

这种挂起显著地增加了总的运行时间,这是不希望的。

我计划升级内存,但希望从社区得到答案,这确实是一个内存问题。这是一个记忆问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-21 23:55:38

问题可能不在内存中,而是使用了虚拟内存(即磁盘)。当它真的很糟糕的时候,这被称为抽打。它可以让你的机器瘫痪。根据问题中非零值的数量、预解算统计信息和您正在使用的线程数量,您至少需要16 GB (可能更多,类似于32 GB)。

另外:尽量减少Gurobi使用的线程数。使用单线程可能更好(在基准测试之后,哪种LP算法效果最好:原始、对偶单纯形或屏障方法)。默认情况下,使用并发LP方法:并行使用不同的LP解算器,这会显着增加内存占用。

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

https://stackoverflow.com/questions/57593749

复制
相关文章

相似问题

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