0

I have to define a decision variable a[kij] which must be binary in nature

indices i = {0,1,2,3...9}

j={0,1,2,3...9}

k= {0,1,2}

N_CARTONS=10

N_C=3

have written this much code so far

 // Define a
IloArray<IloNumVarArray> a(env, N_C);

for (k = 0; k < N_C; k++)
{
    a[k] = IloNumVarArray(env, N_C);
    
    for (i = 0; i < N_CARTONS; i++)
    {
        a[k][i] = IloNumVar(env, 0, 1, ILOBOOL);
        
    }
}

How to introduce index 'j'?

Prarup
  • 7
  • 3

1 Answers1

0

You could use the IloArray<> template to build an array with as many dimensions as your compiler will allow.

As said in technote How do I create and use a multi dimensional IloNumVarArray?

And full example in CPLEX distribution : facility.cpp

Or you could also write simply

int N_CARTONS=10;
int N_C=3;

range i=0..N_CARTONS-1;
range j=0..N_CARTONS-1;
range k=0..N_C-1;

dvar float a[k][i][j];

in OPL and then use the OPL concert C++ API to call OPL from C++

Alex Fleischer
  • 9,276
  • 2
  • 12
  • 15