我很高兴运行 Pygmo2 以使用自适应差分进化来解决 18 参数问题。
一切运行良好,但代价高昂:Pygmo 极大地过度分配内存,请求大约 170G 而实际使用大约 10G。
我在一个总共500G的shered集群上运行,所以我不能同时运行多个实例而不影响其他用户的服务器性能。由于完成一次运行需要 2-3 小时,这对于探索性分析和目标函数优化来说有些限制。
我查看了文档、其他 SO 问题、git 线程,但我不得不说我没有找到太多关于内存使用的信息。所以,我的问题是:
- 对于具有多个参数的问题,这种内存贪婪行为是否正常?还是由于目标函数的编码方式?(我会发布代码,但它是描述热力学生化平衡的 600 行代码,如果没有必要,我不会阻塞帖子)
- 如果这种过度分配是正常的,它有什么作用呢?
- 有没有办法限制pygmo分配的内存?
- 提示/技巧/经验/建议?
关于设置的一些细节:
pygmo 2.8
18 参数问题
群岛,有 4 个岛屿
,有 40 个父母(关于缺乏性能提升的有趣声明,无论参数数量如何,父母的数量都会爆炸http://www1.icsi.berkeley。 edu/~storn/code.html)
谢谢!