代码之家  ›  专栏  ›  技术社区  ›  angie

CPLEX CP优化器将数据读入元组后,如何删除数组的参数以实现稀疏性?

  •  0
  • angie  · 技术社区  · 1 年前

    我有一个混合整数程序,由于内存不足(64GB)而停止。数据从Excel表中读取到数组和稀疏表中。然后使用参数数组来创建元组,以利用稀疏性。我的问题是关于那些没有使用的参数数组会发生什么。由于内存是一个问题,我想知道是否可以以及如何删除这些参数数组,以及这是否有助于内存的使用。提前谢谢。

    元组定义是我为解决内存问题而提出的,但后来它让我思考了可能仍然使用内存的参数数组。

    1 回复  |  直到 1 年前
        1
  •  0
  •   Alex Fleischer    1 年前

    您可以结束不再需要的阵列。

    例如

    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