Accessing Lagrange Multipliers

Hi everyone,

I am new to gams and am trying to implement a variant of generalized benders decomposition.

The algorithm requires me to utilize information about the lagrange multipliers.

Lets say I have 5 equations, i.e.

equations


h1 … container(‘F3A’) =e= 0.55container(‘F1’) +0.50container(‘F2’);
h2 … container(‘F3B’) =e= 0.45container(‘F1’) + 0.50container(‘F2’);
g1 … 2.5yvalue(‘YF’)-container(‘F4A’) - container(‘F4B’) =l= alpha(‘g1’);
g2 … container(‘F4A’) + container(‘F4B’) - 25
yvalue(‘YF’) =l= alpha(‘g2’);
g3 … 2.5*yvalue(‘YD’)-container(‘F5A’)- container(‘F5B’) =l= alpha(‘g3’);

Would someone be able to tell me several ways to access the information about the lagrange multipliers associated with each of these equations?

I.e. h1 would have a lambda1
h2 would have a lambda 2
g2 would have a mew1
g2 would have a mew2
g3 would have a mew3.

I am not clear on how to access this information through gams, and any help you provide would be greatly appreciated.

Best regards,
George Khoury


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Dear George
Please refer to this page :
http://support.gams-software.com/doku.php?id=gams:get_the_lagrangian_multiplier_for_the_constraints

My suggestion is surely to solve a small scale problem and check the sign of the multiplier you get out of GAMS. Based on my experience with GAMS, for some solvers you may need to multiply that by a negative sign.

Regardrs

محمد صادق تولّلی
Mohammad Sadegh Tavallali
National University of Singapore

On Wed, May 4, 2011 at 3:27 AM, George A. Khoury wrote:

Hi everyone,

I am new to gams and am trying to implement a variant of generalized benders decomposition.

The algorithm requires me to utilize information about the lagrange multipliers.

Lets say I have 5 equations, i.e.

equations


h1 … container(‘F3A’) =e= 0.55container(‘F1’) +0.50container(‘F2’);
h2 … container(‘F3B’) =e= 0.45container(‘F1’) + 0.50container(‘F2’);
g1 … 2.5yvalue(‘YF’)-container(‘F4A’) - container(‘F4B’) =l= alpha(‘g1’);
g2 … container(‘F4A’) + container(‘F4B’) - 25
yvalue(‘YF’) =l= alpha(‘g2’);
g3 … 2.5*yvalue(‘YD’)-container(‘F5A’)- container(‘F5B’) =l= alpha(‘g3’);

Would someone be able to tell me several ways to access the information about the lagrange multipliers associated with each of these equations?

I.e. h1 would have a lambda1
h2 would have a lambda 2
g2 would have a mew1
g2 would have a mew2
g3 would have a mew3.

I am not clear on how to access this information through gams, and any help you provide would be greatly appreciated.

Best regards,
George Khoury


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.




\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

George,

If the equality/inequality constraint is inactive the Lagrangian multipliers will be nil.
In case the constraint is active then you can have access to the Lagrangians as : h1.m , h2.m … ,etc
And as Mohammed mentioned, you got to be careful , there is a (-) sign which you might have to multiply with.
( you can maybe check it by applying KKT at the optimal solution )

Regards,

Taoufiq Gueddar
Centre of Process Systems Engineering
University College London

2011/5/3 George A. Khoury

Hi everyone,

I am new to gams and am trying to implement a variant of generalized benders decomposition.

The algorithm requires me to utilize information about the lagrange multipliers.

Lets say I have 5 equations, i.e.

equations


h1 … container(‘F3A’) =e= 0.55container(‘F1’) +0.50container(‘F2’);
h2 … container(‘F3B’) =e= 0.45container(‘F1’) + 0.50container(‘F2’);
g1 … 2.5yvalue(‘YF’)-container(‘F4A’) - container(‘F4B’) =l= alpha(‘g1’);
g2 … container(‘F4A’) + container(‘F4B’) - 25
yvalue(‘YF’) =l= alpha(‘g2’);
g3 … 2.5*yvalue(‘YD’)-container(‘F5A’)- container(‘F5B’) =l= alpha(‘g3’);

Would someone be able to tell me several ways to access the information about the lagrange multipliers associated with each of these equations?

I.e. h1 would have a lambda1
h2 would have a lambda 2
g2 would have a mew1
g2 would have a mew2
g3 would have a mew3.

I am not clear on how to access this information through gams, and any help you provide would be greatly appreciated.

Best regards,
George Khoury


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Thank you very much. This was very helpful.
Best regards,
George

On Wed, May 4, 2011 at 5:01 AM, Taoufiq GUEDDAR wrote:

George,

If the equality/inequality constraint is inactive the Lagrangian multipliers will be nil.
In case the constraint is active then you can have access to the Lagrangians as : h1.m , h2.m … ,etc
And as Mohammed mentioned, you got to be careful , there is a (-) sign which you might have to multiply with.
( you can maybe check it by applying KKT at the optimal solution )

Regards,

Taoufiq Gueddar
Centre of Process Systems Engineering
University College London

2011/5/3 George A. Khoury

Hi everyone,

I am new to gams and am trying to implement a variant of generalized benders decomposition.

The algorithm requires me to utilize information about the lagrange multipliers.

Lets say I have 5 equations, i.e.

equations


h1 … container(‘F3A’) =e= 0.55container(‘F1’) +0.50container(‘F2’);
h2 … container(‘F3B’) =e= 0.45container(‘F1’) + 0.50container(‘F2’);
g1 … 2.5yvalue(‘YF’)-container(‘F4A’) - container(‘F4B’) =l= alpha(‘g1’);
g2 … container(‘F4A’) + container(‘F4B’) - 25
yvalue(‘YF’) =l= alpha(‘g2’);
g3 … 2.5*yvalue(‘YD’)-container(‘F5A’)- container(‘F5B’) =l= alpha(‘g3’);

Would someone be able to tell me several ways to access the information about the lagrange multipliers associated with each of these equations?

I.e. h1 would have a lambda1
h2 would have a lambda 2
g2 would have a mew1
g2 would have a mew2
g3 would have a mew3.

I am not clear on how to access this information through gams, and any help you provide would be greatly appreciated.

Best regards,
George Khoury


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.