splcge.gms : A Simple CGE Model

Description

No description.

Reference

  • Hosoe, N, Gasawa, K, and Hashimoto, H, Handbook of Computible General Equilibrium Modeling. University of Tokyo Press, Tokyo, Japan, 2004.

Small Model of Type : NLP


Category : GAMS Model library


Main file : splcge.gms

$ Title A Simple CGE Model in Ch. 5 (SPLCGE,SEQ=275)

$Ontext
No description.


Hosoe, N, Gasawa, K, and Hashimoto, H
Handbook of Computible General Equilibrium Modeling
University of Tokyo Press, Tokyo, Japan, 2004
$Offtext


* Definition of sets for suffix ---------------------------------------
Set     u       SAM entry     /BRD, MLK, CAP, LAB, HOH/
        i(u)    goods         /BRD, MLK/
        h(u)    factor        /CAP, LAB/;
Alias (u,v), (i,j), (h,k);
* ---------------------------------------------------------------------

* Loading data --------------------------------------------------------
Table   SAM(u,v)        social accounting matrix
        BRD     MLK     CAP     LAB     HOH
BRD                                     15
MLK                                     35
CAP     5       20
LAB     10      15
HOH                     25      25
;
* ---------------------------------------------------------------------

* Loading the initial values ------------------------------------------
Parameter       X0(i)           household consumption of the i-th good
                F0(h,j)         the h-th factor input by the j-th firm
                Z0(j)           output of the j-th good
                FF(h)           factor endowment of the h-th factor
;

X0(i)   =SAM(i,"HOH");
F0(h,j) =SAM(h,j);
Z0(j)   =sum(h, F0(h,j));
FF(h)   =SAM("HOH",h);
Display X0, F0, Z0, FF;
* Calibration ---------------------------------------------------------

Parameters      alpha(i)        share parameter in utility function
                beta(h,j)       share parameter in production function
                b(j)            scale parameter in production function
;
alpha(i)=X0(i)/sum(j, X0(j));
beta(h,j)=F0(h,j)/sum(k, F0(k,j));
b(j)    =Z0(j)/prod(h, F0(h,j)**beta(h,j));
Display alpha, beta, b;
* ---------------------------------------------------------------------

* Defining model system -----------------------------------------------
Variable        X(i)            household consumption of the i-th good
                F(h,j)          the h-th factor input by the j-th firm
                Z(j)            output of the j-th good
                px(i)           demand price of the i-th good
                pz(j)           supply price of the i-th good
                pf(h)           the h-th factor price

                UU              utility [fictitious]
;

Equation        eqX(i)          household demand function
                eqpz(i)         production function
                eqF(h,j)        factor demand function
                eqpx(i)         good market clearing condition
                eqpf(h)         factor market clearing condition
                eqZ(i)          price equation

                obj             utility function [fictitious]
;

eqX(i)..        X(i)    =e= alpha(i)*sum(h, pf(h)*FF(h))/px(i);
eqpz(j)..       Z(j)    =e= b(j)*prod(h, F(h,j)**beta(h,j));
eqF(h,j)..      F(h,j)  =e= beta(h,j)*pz(j)*Z(j)/pf(h);
eqpx(i)..       X(i)    =e= Z(i);
eqpf(h)..       sum(j, F(h,j)) =e= FF(h);
eqZ(i)..        px(i)   =e= pz(i);

obj..           UU      =e= prod(i, X(i)**alpha(i));
* ---------------------------------------------------------------------

* Initializing variables ----------------------------------------------
X.l(i)  =X0(i);
F.l(h,j)=F0(h,j);
Z.l(j)  =Z0(j);
px.l(i) =1;
pz.l(j) =1;
pf.l(h) =1;
* ---------------------------------------------------------------------

* Setting lower bounds to avoid division by zero ----------------------
X.lo(i) =0.001;
F.lo(h,j)=0.001;
Z.lo(j) =0.001;
px.lo(i)=0.001;
pz.lo(j)=0.001;
pf.lo(h)=0.001;
* ---------------------------------------------------------------------
pf.fx("LAB")=1;

* Defining and solving the model --------------------------------------
Model splcge /all/;
Solve splcge maximizing UU using nlp;
* ---------------------------------------------------------------------
* end of model --------------------------------------------------------
* ---------------------------------------------------------------------