Description
Simple one sector nonlinear optimal growth model.
Small Model of Type : NLP
Category : GAMS Model library
Main file : chakra.gms
$title Optimal Growth Model (CHAKRA,SEQ=43)
$onText
Simple one sector nonlinear optimal growth model.
Kendrick, D, and Taylor, L, Numerical methods and Nonlinear Optimizing
models for Economic Planning. In Chenery, H B, Ed, Studies of
Development Planning. Harvard University Press, 1971.
Chakravarty, S, Optimum Savings with a Finite Planning Horizon.
International Economic Review 3 (1962), 338-355.
Keywords: nonlinear programming, economic growth model, macro economics
$offText
Set
t 'extended horizon' / 0*20 /
tb(t) 'base period'
tt(t) 'terminal period';
tb(t) = yes$(ord(t) = 1);
tt(t) = yes$(ord(t) = card(t));
display tb, tt;
Scalar
delt 'rate of depreciation' / .05 /
beta 'exponent on capital' / .75 /
a 'efficiency parameter'
r 'labor force growth rate' / .025 /
eta 'elasticity' / .9 /
z 'technical progress' / .01 /
rho 'welfare discount' / .03 /
y0 'initial income' / 4.275 /
k0 'initial capital' / 15.0 /;
Parameter
dis(t) 'discount factor'
alpha(t) 'production function parameter';
a = y0/k0**beta;
dis(t) = (1 + rho)**(1 - ord(t))/(1 - eta);
alpha(t) = a*(1 + r*(1 - beta) + z)**(ord(t) - 1);
display a, dis, alpha;
Variable
c(t) 'consumption'
y(t) 'income'
k(t) 'capital stock'
j 'performance index';
Equation
kb(t) 'capital stock balance'
yd(t) 'income definition'
jd 'performance index definition';
jd.. j =e= sum(t, dis(t-1)*c(t-1)**(1 - eta));
yd(t).. y(t) =e= alpha(t)*k(t)**beta;
kb(t+1).. k(t+1) =e= y(t) - c(t) + (1 - delt)*k(t);
y.l(t) = y0*(1.06)**(ord(t) - 1);
k.l(t) = (y.l(t)/alpha(t))**(1/beta);
c.l(t) = y.l(t) + (1 - delt)*k.l(t) - k.l(t+1);
display c.l, k.l, y.l;
k.lo(t) = 1;
y.lo(t) = 1;
c.lo(t) = 1;
y.fx(tb) = y.l(tb);
y.fx(tt) = y.l(tt);
Model growth / all /;
solve growth maximizing j using nlp;
Parameter report 'solution summary';
report(t,"k") = k.l(t);
report(t,"y") = y.l(t);
report(t,"c") = c.l(t);
report(t,"s-rate") = (y.l(t) - c.l(t))/y.l(t);
display report;