Originally posted by: DanielFelixFerber
Hi
I have a simple model which solution I intend to read from the OPL Java API.
{triple
} domain = ...; dvar float+ A[domain][rangeA][rangeB]; dvar float+ B[domain][rangeA][rangeB]; dvar float+ C[domain][rangeA][rangeB]; dexpr
float sumExpr[<c,p,a> in domain][t in rangeA][i in rangeB] = A[<c,p,a>][t][i] + B[<c,p,a>][t][i] + C[<c,p,a>][t][i];
The sumExpr seems to work within constraints or other parts in the model.
But when I try to call the OPL Java API to get values from sumExpr, or when I try to read sumExpr with OPL Script, I get the message:
ERROR[GENERATE_103]: OPL cannot extract expression: sumExpr[<0,0,0>][0][0].
ERROR[GENERATE_104] at 41:1-8 model.mod: OPL cannot extract model:
Out of Scope Index c out of scope in sumExpr[display of map item is not available][display of map item is not available][display of map item is not available] = num-exprs[<c, p, a>][int(0) ][int(0) ] + num-exprs[<c, p, a>][int(0) ][int(0) ] + num-exprs[<c, p, a>][int(0) ][int(0) ].
float aaaa = sumExpr[<0,0,1>][0][0];
// ok, works execute
{ writeln(domain);
// prints {<0 0 0> <0 0 1> <0 1 0> <0 1 1> <1 0 0> <1 0 1> <1 1 0> <1 1 1>} var a = domain.find(0,0,1); writeln(a);
// prints <0 0 1> writeln(aaaa);
// prints expected value from sumExor writeln(A[a][0][0]);
// prints expected value writeln(B[a][0][0]); writeln(C[a][0][0]); writeln(sumExpr[a][0][0]);
// error! why? or writeln(sumExpr);
// error!
}
Is this also related to APAR:
http://www-01.ibm.com/support/docview.wss?uid=swg1RS00272 ?
Is there something I am missing? Or some alternative?
Best regards,
Daniel Felix Ferber
#DecisionOptimization#OPLusingCPLEXOptimizer