I want to define a new set from two sets. In my example:
s,m,i,j are sets
alias(i,j)
Of i and j there is a subset: dummy_TS(i) and dummy_TS(j) respectively
defined sets: f(s,m,i,j) and h(dummy_TS)
Now I want to define a new set: t(s,dummy_TS)
s shall always be assigned to dummy_TS if at f(s,m,i,j) s is assigned to the subset dummy_TS over i or j.
I have already tried to work by means of intersection, but I have encountered a bunch of syntax errors.
Many things need to be clarified in the question before looking for the right answer.
“s shall always be assigned to dummy_TS” but dummy_TS is a subset of i. you cannot assign s to it.
“if at f(s,m,i,j) s is assigned to the subset dummy_TS”: at any value of m, i, j/all values of m, i, j? is f a function? if yes, how can f(s, m, i, j) be a set? You don’t need alias to define s, m ,i, j you could say s, m ,i, i
here a short example:
set i respectively j:
set h(dummy_TS):
set f(s,m,i,j):
The solution should be: t(s, dummy_TS) = /Bet.TransferB, Middlegate.terminalC_d, Alliance_Europe.terminalE_d, Top.TransferB, Top.TransferA)
If an element in i or j columns of set f exist in set h (which is a subset of dummy_ts, not sure if this is needed or makes sense) then you want to include that element in set t. This can be done as follows.
set f(s, m ,i, i);
f(s, m, i, i)$(dummy_ts(i))=yes;
It is not clear why you would want h(dummy_ts) which is a subset of a subset. You can simply have h(i) and populate it as needed.
Yes, exactly. But unfortunately my code example does not work when I try to implement your solution. Something is wrong with the syntax.
Here is my example:
SET f_c_r(s,m,i,j);
SET dummy_TS(i);
SET fprojected(i)
SET t(s,i);
set f1(i);
*To get i in fourth column
f1(i) <= f_c_r;
set f2(i);
*To get i from third column
f2 <= f;
*Union of two sets
fprojected(i)$(f1(i) and f2(i)) = yes;
t(s, i)$(dummy_ts(i) and fprojected(i)) =yes;