Dear all,
I am implementing a kind of branch and cut in GAMS and I have the following problem. I have a simple problem with just two nonnegative constaints in my model:
set p auxiliary superset /1200/ ;
set i another set /1100/
variables w(j,m) ;
parameters fs1(j,i), fs2(j,p) ;
equations contraint1(i), constraint2(p) ;
constraint1(i)… sum((j,m), w(j,m) * fs1(j,i)) =g= 0 ;
constraintA2(p)… sum((j,m), w(j,m) * fs2(j,p)) =g= 0 ;
Now, I would like to solve the problem. I inizialize
fs2(j,p) = fs1(j,“1”);
and solve the model with the two constraints. Here there is the first problem: changing the inizialization, e.g. fs2(j,p) = fs1(j,“2”); the solution changes, but I don’t know why since I am just coping a constraint of constraint1(i), namely constraint1(“1”) in the second constraints. The model doesn’t change. Moreover, I would like to implement a branch and cut approach, introducing a dynamic set dynset(p) and redefining the second constraints as
set dynamic(p) ;
dynset(p) = no ;
constraintA2(dynset)… sum((j,m), w(j,m) * fs1(j,dynset)) =g= 0 ;
I again initialize fs2(j,p) = fs1(j,“1”), I solve the model. Then, I have a loop over p: in each iteration I construct the cut defining the value of the parameter
fs2(j,dynset) $(dynset.val = p.val) = …
and set dynset(p) = yes and solve the problem again. But it seems that there is something wrong in the updating phase. I really appreciate all you help.
Thanks in advance, Best regards,
Luca