In a prior version of a model I have a symbol which has dimension three: aSymbol(*,*,*)
But now I want to use this symbol projected over a fourth set. aSymbol(aSet,*,*,*). This is of course impossible in GAMS (symbols can only have one amount of dimensions). The motivation to use the same symbol comes from not having to extend downstream processing to this new model case.
A possible workaround is to declare a new set, with the same cardinality of aSet and a unique letter identifier...
1. Is there another possible way I'm missing ?
Code: Select all
aSet /.../ $eval nElem card(aSet) aNewSet /e1*e%nElem%/ anEquation(aNewSet,aSet, ... , ... )$(ord(aSet)=ord(aNewSet)).. aSymbol(aNewSet,...,...)=e=...
2. If not, is there anyway I could at least use the aSet labels to construct the aNewSet labels ?
Thanks in advance