Hi everyone.
I’m not quite sure if this will help you, anyhow it also can be interesting.
If you are trying to get the value of the sensitivities of the optimal value of a problem with respect to some parameters, you can try with the sensitivity analysis from the book of Fiacco "Introduction to Sensitivity and Stability Analysis in Nonlinear Programming "
As a summary of the method, the idea is to derive the KKT conditions of a given problem. The result of this derivation is a set of equations that can be solved for the value of the sensitivities. If you need the value of the local sensitivity dx/dc around a given optimal point, this set of equations becomes linear and it uses the Jacobian matrix evaluated at the solution (that Michael told you how to obtain it). This methodology is based in the assumption of strict complementarity, implying that the set of active constraints remains unchanged around the optimal solution. If this is not the case, the group of Professor L. Biegler proposed several years ago an extension to take into account the possibility of changes in the set of active constraints based in solving a QP, that also has been employed by the group pf Professor W. Marquardt in the context of dynamic optimization.
The references that might be useful are:

Fiacco, A. V. (1983). Introduction to Sensitivity and Stability Analysis in Nonlinear Programming: Elsevier Science.

Ganesh, N., & Biegler, L. T. (1987). A reduced hessian strategy for sensitivity analysis of optimal flowsheets. AIChE Journal, 33, 282296.

Kadam, J. V., & Marquardt, W. (2004). SENSITIVITYBASED SOLUTION UPDATES IN CLOSEDLOOP DYNAMIC OPTIMIZATION. In DYCOPS 7. Cambridge, USA.
I really hope this helps,
Best Regards.
2012/11/21 Steven Dirkse
Frank,
Michael pointed out a way to get the Jacobian matrix for the model at
the solution point. The entries of the Jacobian measure the
sensitivity of the equation levels wrt the variables, i.e. df/dx.
It sounds like you want to get the sensitivities of the optimal
variables wrt the model parameters, e.g. dx/dc for some variable x
and GAMS scalar c. This is a very different thing. For simplicity,
consider the case of an LP. We can divide this task into two parts
using the chain rule:
dx/dc = sum{(i,j), dx/dA(i,j) * dA(i,j)/dc}, where (i,j) sums over
the LP constraint matrix.
The sensitivities dx/dA(i,j) are available and there are examples for
how to get them, e.g. check
http://support.gams.com/doku.php?id=solver:sensitivity_analysis_with_gams_cplex
But there is no way to get the sensitivites of the LP constraint
matrix to the model parameters. To take an extreme example, you could
have a loop in GAMS that computes parameter D depending on scalar c.
It would take lots of time and memory to maintain the required
dependency information in this and other cases.
I think the best that one can do is use parameters directly in the
model, or in a simple enough way so that you know what dA(i,j)/dc is,
since you are responsible for providing that information.
HTH,
Steve
On Mon, Nov 19, 2012 at 12:03 PM, Frank Ward wrote:
Michael,
Thanks for your note to Mohammad. Your method seems like a way to discover
something very valuable indeed. Does that method produce numerical results
for the partial derivative of each (dependent) variable with respect to
changes in each parameter? That is quite a matrix indeed. It could be a
very powerful and fast way conduct a sensitivity analysis. It tells the
modeler the sensitivity of each variable with respect to changes in each
assumption (parameter).
Many people have asked me about that information in recent years. Of
course, theyâ€™re asking for much more than simple shadow prices (marginal).
It would sure be nice to give them a â€˜yesâ€™ answer in the future.
Thanks for checking.
Frank Ward
From: gamsworld@googlegroups.com [mailto:gamsworld@googlegroups.com] On
Behalf Of Michael Bussieck
Sent: Monday, November 19, 2012 7:45 AM
To: gamsworld@googlegroups.com
Subject: Re: Jacobian at optimal condition
Mohammad,
GAMS does not have the gradient information readily available inside the
GAMS language. To access the gradient info you need access to the Jacobi
MATRIX. This does only exist when GAMS communicates with the solver. There
is a trick to get this Jacobi “matrix”. This goes via the scalar model
Convert (or ConvertD) looks at. Basically you can easily get the Jacobian
via the solver ConvertD using option “jacobian”. This gives you a two
dimensional parameter A(i,j) with i = e1,e2,e3,… and j=x1,x2,x3,… in a
GDX file jacobian.gdx. With the help of some name mapping you can map you
original variables and equations into the e1,e2,… and x1,x2,… space. For
that you declare for each variable and equation symbol in your model a set
varname_vm(j,original index space) and equname_em(i,original index space).
The content for these symbols is created by a ConvertD option called
dictmap. Having the maps and the Jacobian A you can map the relevant part of
the Jacobian into your name space. I have attached an example (weapons from
the GAMS model library that demonstrates this).
This is not very elegant, but if you really need it this would do the trick.
Hope this helps,
Michael Bussieck  GAMS World Administrator
On Sun, Nov 18, 2012 at 9:45 PM, Tavallali
wrote:
Dear all
I guess I am repeating a common question, though I could not find an answer
to.
Is that possible to get the Jacobian of the model at the optimal conditions?
Is there any attribute for the constraints that can help reporting the
derivatives with respect to various variables?
I hope GAMS can help on that. I appreciate your responses.
Regards
Ù…ØÙ…Ø¯ ØµØ§Ø¯Ù‚ ØªÙˆÙ„Ù‘Ù„ÛŒ
Mohammad Sadegh Tavallali
National University of Singapore
–
“gamsworld” group.
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.
–
Michael R. Bussieck, Ph.D.
Fon/Fax: +1 202 3420180/1 (USA) +49 221 9499170/1 (Germany)
www.gams.com
–
“gamsworld” group.
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.
–
“gamsworld” group.
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.
–
Steven Dirkse, Ph.D.
GAMS Development Corp., Washington DC
Voice: (202)3420180 Fax: (202)3420181
sdirkse@gams.com
http://www.gams.com
Daniel AndrÃ©s Navia LÃ³pez
Ingeniero Civil QuÃmico
Mg.Sc.Ciencias de la IngenierÃa, MenciÃ³n IngenierÃa QuÃmica
MÃ¡ster en InvestigaciÃ³n en IngenierÃa de Procesos y Sistemas
https://sites.google.com/site/dnavialopez/
\
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.