Problem in changing the parameter.

Problems with syntax of GAMS
Post Reply
Luca
User
User
Posts: 16
Joined: 7 months ago

Problem in changing the parameter.

Post by Luca » 2 months ago

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 /1*200/ ;
set i another set /1*100/

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

User avatar
Renger
Posts: 219
Joined: 2 years ago

Re: Problem in changing the parameter.

Post by Renger » 2 months ago

Hi Luca
It looks obvious that you have different solutions as you choose different values for the parameters.
The question on the dynamic set is hard to answer without the code to run the model and the exact error.
Cheers
Renger

Luca
User
User
Posts: 16
Joined: 7 months ago

Re: Problem in changing the parameter.

Post by Luca » 2 months ago

Thanks very much for your answer. It is true that I have different value for the parameters, but the second equations are just the copy-paste of one of the equation in the first set. I have all the equation I need in the first group of constraints, while in the second one I have always a constraint that I already have in the previous set. If I set fs2(j,p) = fs1(j,"1"); I copy the first constraint, if I set fs2(j,p) = fs1(j,"2"); I copy the second one and so on. I still do not get why gams gives different solutions.

User avatar
dirkse
Moderator
Moderator
Posts: 37
Joined: 2 years ago
Location: Fairfax, VA

Re: Problem in changing the parameter.

Post by dirkse » 2 months ago

Luca,

If you want an answer to your question, you have only to post a running (and hopefully minimal) example that reproduces the issue. I feel sure this will get you a helpful response. There is also a good chance that putting this together will lead you to the solution of your own problem.

-Steve

Luca
User
User
Posts: 16
Joined: 7 months ago

Re: Problem in changing the parameter.

Post by Luca » 2 months ago

Here there is the code. I have a master problem, PROBLEM1, whose constraints are dynamically added by solving PROBLEM2. The syntax is correct, but the code has a strange behaviour (I am not sure I use the dynamic set in the right way). Thanks very much for all your suggestions.
Attachments
CODE_1.gms
minimal exemple code to run
(5.74 KiB) Downloaded 19 times
Last edited by Luca on Fri Sep 21, 2018 8:53 am, edited 1 time in total.

User avatar
Renger
Posts: 219
Joined: 2 years ago

Re: Problem in changing the parameter.

Post by Renger » 2 months ago

Hi Luca
If you are sure that the equations are the same, make a check by writing a report parameter that looks at the differences between solutions (just write out the matrix fssol for every solve and compare them.
Thy dynamic set works fine (one element of the set is added in every run).
Cheers
Renger

Luca
User
User
Posts: 16
Joined: 7 months ago

Re: Problem in changing the parameter.

Post by Luca » 2 months ago

Thanks for the answer. I have already check the difference between fsSOL matrix and apparently all is ok.
But, when I solve the problems (which apparently are the same), I obtain different solutions.
-- Luca

Post Reply