A characteristic feature of CGE models is that an initial solution for the model can be readily constructed from a table of transaction values (such as an
input-output table or a
social accounting matrix) that satisfies certain basic accounting restrictions. GEMPACK builds on this feature by formulating the CGE model as an
initial value problem which is solved using standard techniques. The GEMPACK user specifies her model by constructing a text file listing model equations and variables, and showing how variables relate to value flows stored on an initial data file. GEMPACK translates this file into a computer program which solves the model, i.e., computes how model variables might change in response to an external shock. The original equation system is linearized (reformulated as a system of
first-order partial differential equations). If most variables are expressed in terms of percentage changes (akin to
log changes) the coefficients of the linearized system are usually very simple functions of database value flows. Computer algebra is used at this point to greatly reduce (by substitution) the size of the system. Then it is solved by multistep methods such as the
Euler method,
midpoint method, Gragg's modified Midpoint method and
Runge–Kutta methods. These all require solution of a large
system of linear equations, which is accomplished by
sparse matrix techniques.
Richardson extrapolation may be used to improve accuracy. The final result is an accurate solution of the original non-linear equations. This linearized approach, originally devised to solve medium-sized CGE models on early computers, has since proved capable (on modern computers) of solving very large models. Additionally it has lent itself to some interesting extensions, such as: a
Gaussian quadrature method of estimating confidence intervals for model results from known distributions of shock or parameter values; a way to formulate inequality constraints or non-differentiable equations as
complementarities; and a technique to decompose changes in model variables due to several shocks into components due to each individual shock. The underlying numerical approach is complemented by several
GUI programs that: ease viewing of large multidimensional arrays often found in CGE databases; manage complex (e.g., multi-period) simulations; and allow interactive exploration and explanation of simulation results. ==See also==