我有一个混合整数程序,由于内存不足(64GB)而停止。数据从 Excel 工作表读取到数组中并稀疏。然后使用参数数组创建元组以利用稀疏性。我的问题与那些未使用的参数数组会发生什么有关。由于内存令人担忧,我想知道是否以及如何删除这些参数数组,以及这是否有助于内存使用。预先感谢。
元组定义是我为了解决内存问题而提出的,但它让我思考可能仍然使用内存的参数数组。
您可以结束不再需要的数组。
举个例子
using CP;
range r=1..10;
int x[i in r]=i;
int x2[i in r]=2*x[i];
execute
{
x2;
x.end();
}
dvar int y;
subject to
{
y==sum(i in r) x2[i];
}
execute
{
writeln(y);
}
我用x来计算x2,然后结束x,因为我不再需要x