C++ 巨大矩阵(C+;+;)(Visual Studio 2015)(QuadProg库)

C++ 巨大矩阵(C+;+;)(Visual Studio 2015)(QuadProg库),c++,matrix,quadprog,quadratic-programming,C++,Matrix,Quadprog,Quadratic Programming,我正在尝试使用QuadProg++库。问题是我的CI变量很大。高达40000*20000。使用此大小,将占用太多内存(至少12GB…)。我有两个问题: 1.-有没有办法为“solve_quadprog”函数提供与矩阵double不同的数据类型?我试着用short,但不行。 2.-有人知道如何解决这个尺寸问题吗?这个CI变量实际上非常简单,只有一个带全部1的对角线,另一个带全部-1的对角线(所有其他值均为0) 如果可以使用另一个库(用以解决二次规划问题)来解决这些问题,也不是问题。 任何解决方案都

我正在尝试使用QuadProg++库。问题是我的CI变量很大。高达40000*20000。使用此大小,将占用太多内存(至少12GB…)。我有两个问题: 1.-有没有办法为“solve_quadprog”函数提供与矩阵double不同的数据类型?我试着用short,但不行。 2.-有人知道如何解决这个尺寸问题吗?这个CI变量实际上非常简单,只有一个带全部1的对角线,另一个带全部-1的对角线(所有其他值均为0)

如果可以使用另一个库(用以解决二次规划问题)来解决这些问题,也不是问题。 任何解决方案都将不胜感激
提前感谢

12 GB在64位机器上并非不合理。也许8GB的RAM和4GB的交换文件可以工作。否则,库可能会支持“稀疏矩阵”,它不会存储所有的零。如果您真的只在两条对角线上设置了值,那么使用接受稀疏问题表示的二次规划解算器将具有更大的内存和计算效率。是一组关于选项的调查(matlab的大多数选项),是一个使用ipopt的R解决方案。ipopt,这样你就可以按照它稀疏地解决你的问题。