two3mac.gms : Simple 2 x 2 x 2 General Equilibrium Model Using Macros

Description

```This is the TWO3MCP model written using macros. The documentation
of GAMS-F uses this model as example 7.

Reference:  Shoven and Whalley: "Applied G.E. Models"
Journal of Economic Literature, XXII (1984)

Keywords: mixed complementarity problem, general equilibrium model, GAMS macro
```

Small Model of Type : MCP

Category : GAMS Model library

Main file : two3mac.gms

``````\$title Simple 2 x 2 x 2 General Equilibrium Model Using Macros (TWO3MAC,SEQ=341)

\$onText
This is the TWO3MCP model written using macros. The documentation
of GAMS-F uses this model as example 7.

Reference:  Shoven and Whalley: "Applied G.E. Models"
Journal of Economic Literature, XXII (1984)

Keywords: mixed complementarity problem, general equilibrium model, GAMS macro
\$offText

Set
f 'factors'    / labor, capital /
s 'sectors'    / mfrs,  nonmfrs /
h 'households' / rich,  poor    /;

* demand function parameters.
Parameter sigmac(h) / rich 1.5, poor 0.75 /;

Table alpha(s,h)
rich  poor
mfrs      0.5   0.3
nonmfrs   0.5   0.7;

Table e(f,h)
rich  poor
labor            60
capital    25      ;

* production function parameters.
Parameter phi(s) / mfrs 1.5, nonmfrs 2.0 /;

Table delta(f,s) 'factor share coefficients'
mfrs  nonmfrs
labor     0.6      0.7
capital   0.4      0.3;

Parameter
sigma(s) 'elasticities of factor substitution' / mfrs 2.0, nonmfrs 0.5 /
tshr(h)  'share of tax revenue'

tshr(h) = 0;
t(f,s)  = 0;

\$macro PF(f,s)   (W[f]*(1 + t[f,s]))
\$macro COST(s)    sum{f.local, delta[f,s]**sigma[s]*PF(f,s)**(1 - sigma[s])}**(1/(1 - sigma[s]))/phi[s]
\$macro FD(f,s)   (delta[f,s]*COST(s)/PF(f,s))**sigma[s]
\$macro TAX(s)     sum{f.local, t[f,s]*W[f]*Y[s]*FD(f,s)}
\$macro INCOME(h) (sum{f, e[f,h]*W[f]} + tshr[h]*sum{s.local, TAX(s)})
\$macro D(s,h)     INCOME(h)*alpha[s,h]*sum{s.local, alpha[s,h]*P[s]**(sigmac[h] - 1)}*P[s]**(-sigmac[h])

Positive Variable
W(f) 'factor price'
P(s) 'commodity price'
Y(s) 'production level';

Equation
fmkt(f)   'factor market'
cmkt(s)   'commodity market'
profit(s) 'zero profit';

* Factor supply (endowments) equals factor demand:
fmkt(f)..   sum(h, e(f,h)) =g= sum(s, FD(f,s)*Y(s));

* Commodity output equals commodity demand:
cmkt(s)..   Y(s) =g= sum(h, D(s,h));

* Unit cost equals market price:
profit(s).. COST(s) =g= P(s);

Parameter DL(s,h);

Model jel / fmkt.W, cmkt.P, profit.Y /;

* compute solution for this dimension problem:
W.lo(f) = 0.0001;
P.lo(s) = 0.0001;

W.l(f) = 1;
P.l(s) = 1;
Y.l(s) = 10;

* solve the reference case:
W.fx("labor") = 1;
solve jel using mcp;

\$onDotL
dl(s,h) = d(s,h);
display dl;

* apply tax in test problem:
tshr("rich") = 0.4;
tshr("poor") = 1 - tshr("rich");
t("capital","mfrs") = 0.5;
solve jel using mcp;

dl(s,h) = d(s,h);
display dl;
``````
GAMS Development Corp.
GAMS Software GmbH

General Information and Sales
U.S. (+1) 202 342-0180
Europe: (+49) 221 949-9170