Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有关于scipy.optimize.linprog或其他python线性编程函数所需内存的文档_Scipy_Linear Programming - Fatal编程技术网

是否有关于scipy.optimize.linprog或其他python线性编程函数所需内存的文档

是否有关于scipy.optimize.linprog或其他python线性编程函数所需内存的文档,scipy,linear-programming,Scipy,Linear Programming,我有一个问题,有288000个变量,6个上限约束,24个等式约束,参数是有界的(所有都必须是正的,其中一半也有一个最大值)。当我使用8GB虚拟机调用scipy.optimize.linprog时,我遇到了一个内存错误。这是预期的吗?是否有关于此函数使用多少内存的文档 我发现这篇论文“大规模随机LP问题的并行分布式存储单纯形”迈尔斯·鲁宾·J.A.朱利安·霍尔·科斯明·G.佩特拉·米海·阿尼特斯库肯定有一些线索。但是,如果我一开始就把问题设置错了,那么一个新的算法就帮不了我。我对此表示怀疑。对于P

我有一个问题,有288000个变量,6个上限约束,24个等式约束,参数是有界的(所有都必须是正的,其中一半也有一个最大值)。当我使用8GB虚拟机调用scipy.optimize.linprog时,我遇到了一个内存错误。这是预期的吗?是否有关于此函数使用多少内存的文档


我发现这篇论文“大规模随机LP问题的并行分布式存储单纯形”迈尔斯·鲁宾·J.A.朱利安·霍尔·科斯明·G.佩特拉·米海·阿尼特斯库肯定有一些线索。但是,如果我一开始就把问题设置错了,那么一个新的算法就帮不了我。

我对此表示怀疑。对于Python/numpy代码,很难整齐地指定内存需求。此外,我还必须研究:,看看Python本身完成了多少工作,而不是被发送到某个编译库。在获得MemoryError时显示stacktrace可能会有所帮助。它应该显示哪个操作正在创建过大的数组。当然,重要的是总的内存使用量,但通常一个特定的内存使用量要比其他内存使用量大得多。理论和实践之间有很多差异(因为它严重依赖于您的数据)。因此,如果不了解您的数据,就很难回答。我只能给你一个负面(个人)评论:
scipy.linprog
是最差的LP解算器之一。我认为它甚至在内部使用密集矩阵(不是100%确定),这也可能会有问题。也许试试别的。我可以推荐cvxpy(一些用于证明凸性的开销;但是好看的数学表达式;可以使用许多差异解算器;默认的ECO)和一些较小程度的PALL(在windows上使用cbc),只是为了更清楚:具有LPs特殊处理的解算器:,(基于单纯形的开源和免费),(开源但不免费),,mosek(商业;至少gurobi免费用于学术工作)。能够解决LPs的更一般问题的解决者(开源和免费/基于IPM)谢谢,伙计们,我真的很感激。事实证明,我对问题的线性化处理效果不好,所以这次我可能不得不使用非线性优化。我忘记了cvxopt,过去也使用过它。我对此表示怀疑。使用Python/numpy代码很难精确地指定内存需求。我还必须在以下位置学习代码,以查看h与发送到某个已编译库相比,Python本身完成了多少工作。在获取MemoryError时显示stacktrace可能会有所帮助。它应该显示哪个操作正在创建一个过大的数组。当然,重要的是总内存使用量,但通常一个特定的操作要比其他操作大得多。有理论和实践之间存在很多差异(因为它严重依赖于您的数据)。因此,如果不了解您的数据,很难回答。我只能给您一个负面(个人)评论:
scipy。linprog
是可用的最差LP解算器之一。我认为它甚至使用密集矩阵(不是100%确定)内部也可能存在问题。也许可以尝试其他方法。我可以推荐cvxpy(一些用于证明凸性的开销;但数学表达式不错;可以使用许多差异解算器;默认ECO)和一些次要的纸浆(在windows上使用cbc),只是为了更清楚:具有特殊处理LPs的解算器:,(基于simplex的开源和免费),(开源但不免费),,mosek(商业;至少gurobi免费用于学术工作)。解决更一般的问题,可以解决LPs,(基于开源和免费/IPM)谢谢,伙计们,我真的很感激。事实证明,我对问题的线性化效果不好,所以这次我可能不得不使用非线性优化。我忘记了cvxopt,过去也使用过它。