Monday, October 26, 2015

Simple Nash-Cournot equilibrium via EMP

Model OLIGOMCP from the model library is a well-known small Nash-Cournot equilibrium problem, expressed as an MCP:

image

See also: http://yetanothermathprogrammingconsultant.blogspot.com/2015/03/oligopolistic-producer-behavior-or-why.html and http://amsterdamoptimization.com/pdf/oligopoly.pdf.

This looks like a good example to try the EMP framework and see if we can express the model using the firm’s original maximization problems. The manual is not much of a help here. For this particular type of model the manual (https://www.gams.com/help/topic/gams.doc/solvers/jams/index.html?cp=0_3_23_7#EMP_MOPECs, chapter MOPECs) is not particularly helpful:
While we do not specify the syntax here for these issues, EMPLIB provides examples that outline how to carry out this matching within GAMS”.

Ok, although a little bit discouraged, lets try anyway. We have 5 firms, each is trying to optimize its profit (revenue – cost) by varying the quantities produced. That is:

image

using this somewhat complicated cost function. The only way I could make this work was to substitute out Q=∑ q(i) and subsequently p(Q) in this expression, i.e.:

image   

Now we can solve:
 

image

where we need some additional instructions for EMP:

image

With the PUT statement one could generate this with a loop. From this input deck the EMP tool will differentiate the objectives and form the first order conditions and then call an MCP solver to solve it.

Not sure what is easier: just to formulate the first-order conditions manually or using this EMP tool. Of course there are other good uses for EMP. See for instance: http://www.amazon.com/Complementarity-Modeling-International-Operations-Management/dp/1441961224. And of course there may be better and more elegant ways to write this down that I don’t know about.