There is an example of a Nash/Stackleberg in the GAMS model library, if you don’t know where this is:
GAMS IDE → Model Library → Nash
Vishwa has great insight into these games and I find this line to be your best route:
“you could update the i’s strategy as above and move to player i+1 fixing the others and ‘i+1’ gives a best response…”
I believe you might want to get rid of time subscripts here, each set of solves would be an iteration through T – Vishwa do you have thoughts on this? It is also possible, as shown by the example in the model library, to simulate the game in a gen eq framework.
With respect to your code:
x1… x1(t+1) = x1(t) + y1(t) + w(t)
x2… x2(t+1) = x2(t) + y2(t) + w(t)
w… w(t) = y1(t)…This is binary equation.
objective 1… U1 = u1(t)
objective 2… U2 = u2(t)
Model Nash /all/;
Solve Nash maximizing U1 using MINLP;
#Record the move (i.e. Y) by player 1:
y1t = y1.L(t);
#Notice highlighting
xdot1 = y2 + w
w = y1t if y1t > y2
otherwise, w = y2
Solve Nash maximizing U2 using MINLP;
#Record the move (i.e. Y) by player 1:
y2t = y2.L(t);
xdot1 = y1 + w
w = y2t if y2t > y1
otherwise, w = y1
#This is an example why the T indices would need to be controlled differently, you could create a set called ‘currT’
Solve Nash maximizing U1 using MINLP;
As for a GAMS reference, McCarl is where I started and a very thorough, well-written reference:
http://www.gams.com/dd/docs/bigdocs/gams2002/mccarlgamsuserguide.pdf
I hope this helps - the example in the model library might cause you to rework your problem unless you like the iterative approach.
Best,
Max
On Monday, July 29, 2013 5:34:06 AM UTC-4, environ...@gmail.com wrote:
Dear Vishwa and Max,
Thank you very much for your response.
My problem is the differential game and open loop.
Max u1(x1, y1)
s.t. xdot1= y1 + w…this is equations of motion
w = y1 if y1 > y2
otherwise, w = y2
Max u2(x2, y2)
s.t. xdot1 = y2 + w
w = y1 if y1 > y2
otherwise, w = y2
When I coded this problem,
Equations;
x1… x1(t+1) = x1(t) + y1(t) + w(t)
x2… x2(t+1) = x2(t) + y2(t) + w(t)
w… w(t) = y1(t)…This is binary equation.
objective 1… U1 = u1(t)
objective 2… U2 = u2(t)
Model Nash /all/;
Solve Nash maximizing U1 using MINLP;
Solve Nash maximizing U2 using MINLP;
I added two solve statement to solve this problem simultaneously, but I would like to know if this problem is a non-cooperative differential game and open loop, then is it correct to code this problem?
Thank you very much in advance.
Sincerely yours,
Q
Do you have any references about coding in GAMS?
On Saturday, July 27, 2013 1:28:33 AM UTC-4, environ...@gmail.com wrote:
Dear Gams experts,
Is it possible to maximize two objective functions?
For example, in the differential game in Economics (e.g. Nash or Stackelberg game), there are two objective functions.
Without the first order equations, is it possible to solve the differential game?
Thank you very much in advance.
Sincerely,
Q
–
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.
\