scarfmcp.gms : Scarf's Activity Analysis Example

Description

Scarf's Activity Analysis Example.


Reference

  • Scarf, H, and Hansen, T, The Computation of Economic Equilibria. Yale University Press, 1973.

Small Model of Type : MCP


Category : GAMS Model library


Main file : scarfmcp.gms   includes :  scarfdata.inc

$title Scarf's Activity Analysis Example (SCARFMCP,SEQ=132)

$onText
Scarf's Activity Analysis Example.


Scarf, H, and Hansen, T, The Computation of Economic Equilibria.
Yale University Press, 1973.

Keywords: mixed complementarity problem, activity analysis, general equilibrium model
$offText

$include scarfdata.inc

Positive Variable
   p(c) 'commodity price'
   y(s) 'production'
   i(h) 'income';

Equation
   mkt(c)    'commodity market'
   profit(s) 'zero profit'
   income(h) 'income index';

* distinguish ces and cobb-douglas demand functions:
mkt(c).. sum(s, a(c,s)*y(s)) + sum(h, e(c,h))
     =g= sum(h$(esub(h) <> 1), (i(h)/sum(cc, alpha(cc,h)*p(cc)**(1 - esub(h))))
                             * alpha(c,h)*(1/p(c))**esub(h))
                             + sum(h$(esub(h) = 1), i(h)*alpha(c,h)/p(c));

profit(s).. -sum(c, a(c,s)*p(c)) =g= 0;

income(h).. i(h) =g= sum(c, p(c)*e(c,h));

Model scarf / mkt.p, profit.y, income.i /;

p.l(c)  = 1;
y.l(s)  = 1;
i.l(h)  = sum(c, p.l(c)*e(c,h));
p.lo(c) = 0.00001$(smax(h, alpha(c,h)) > eps);

* fix the price of numeraire commodity:
i.fx(h)$(ord(h) = 1) = i.l(h);

solve scarf using mcp;