使用c ++在Cplex中创建一个三维IloIntVarArray

时间:2016-05-31 23:31:37

标签: c++ cplex integer-programming operations-research

我在使用c ++的cplex中使用了一些整数变量,例如:

  alpha = IloIntVarArray (env, numArcs,0 ,N);

alpha是一维数组,范围为0 - N ...

但我的问题是,我想创建ax [N] [M] [K],这将是我的整数决策变量,我不知道任何语法或如何启动这些变量

1 个答案:

答案 0 :(得分:2)

以下是an example

typedef IloArray<IloNumVarArray> NumVarMatrix;
typedef IloArray<NumVarMatrix>   NumVar3Matrix;

/* define the num vars here for the 3-D matrix */
NumVar3Matrix accept(env,nbClients);
/* initialize this matrix */
for(i=0; i< nbClients; i++) {
  accept[i] = NumVarMatrix(env, nbLocations);
for(j=0; j< nbLocations; j++) {
            accept[i][j] = IloNumVarArray(env, nbRoutes);
  for(k=0; k<nbRoutes; k++) {
   accept[i][j][k] = IloNumVar(env, 0.0, 1.0, ILOINT);
   }
  }
 }