2016-05-31 6 views
1

Я использую некоторые целые переменные CPLEX с C++, как:Создание IloIntVarArray в трехмерную CPLEX с C++

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

альфа является одномерным массивом с диапазоном 0 - N ...

Но мой проблема в том, что я хотел бы создать ax [N] [M] [K], это были бы мои переменные целочисленных решений, и я не знаю никакого синтаксиса или как инициировать эти переменные.

ответ

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); 
    } 
    } 
} 
Смежные вопросы