range C = 1..5;
range D = 1..10;
{int} E[C][D] =
[[{1,2,3,4,5},{1,2,3,4,5,6,7,8,9,10}]];
{int} unionE= union (c in C,d in D) E[c][d];
execute
{
unionE;
}
float IN[c in C][d in D]=c*d*0.34;
tuple t
{
int c;
int d;
int e;
float k;
}
{t} s={<c,d,e,IN[c][d]> | c in C,d in D, e in E[c,d]};
execute {
writeln(s);
}
float M[c in C ,d in D,e in unionE]=max(<c,d,e,k> in s) k;
dvar float+ X[c in C ,d in D,e in unionE] in 0..M[c][d][e];
dexpr float X1[d in D] = sum (c in C, e in unionE) (X[c][d][e]);
dexpr float object = sum(d in D)(18*(X1[d]));
maximize object;
subject to
{
}