Authors: W. Jill Harrison, Mark Horridge, K.R. Pearson and Glyn Wittwer

To make CGE models realistic, we sometimes need to include inequality constraints (eg, import quotas) or non-differentiable functions (eg, income tax schedules). Both situations may be described using complementarity conditions, which state that either an equation is true or its complementary variable is at a boundary value. The paper describes a practical way to solve CGE models, which contain such conditions. The technique, which is different from complementarity algorithms commonly used elsewhere (eg GAMS), has been implemented for the next version of the GEMPACK system.

In the Euler (and similar) methods used by GEMPACK, derivatives are calculated to work out the approximate effects of exogenous changes. To get more accuracy, we can divide exogenous changes into several smaller steps. We interpret this procedure as a path-following algorithm. If all equations in the model are smooth (have continuous derivatives) we can always choose sufficiently many steps to be sure that approximation errors are a smooth and decreasing function of the number of steps. At this point we can invoke extrapolation procedures which use results from, say, Euler computations of 10, 15 and 20 steps, to compute results which are as accurate as machine precision allows. The extrapolation also allows us to compute error bounds for our computation.

Unfortunately, complementarity conditions are equivalent to kinked schedules; they contain points where derivatives change sharply. The lack of smoothness precludes the use of extrapolation. Without extrapolation, very many tiny Euler steps might be needed to ensure sufficient accuracy -- leading to unacceptably lengthy computations.

Our paper describes one way of overcoming this problem. The key insight is that if we knew in advance which constraints would be binding in the accurate solution, the complementarity conditions could be reformulated in terms of smooth functions only, via a closure change which allows us to ignore the troublesome equations. With all remaining functions smooth, extrapolation again becomes effective.

This leads to a two-pass procedure. First, a single Euler computation, of limited accuracy, is used to discover which constraints will finally bind. Using this information the equations are recast into an equivalent smooth system which is then solved accurately.

Similar methods have been used in Australia and elsewhere for years. They are simple and intuitive -- but tedious and difficult to implement manually, especially where many complementarity conditions interact. GEMPACK now offers a syntax for expressing complementarity conditions in a standard way. This enables the software to take over the boring work: running the approximate simulation, making the closure change and identifying target values for the newly exogenous variables, and finally re-solving accurately.

We illustrate the technique with WAYANG, a SAM-based CGE model of Indonesia. Here, import quotas yield large rents to some richer households. We expect that removing the quotas should improve income distribution. However, the simulation results contain some surprises.

JEL Classification: C68

Please cite the later published version in:

Computational Economics, Society for Computational Economics, vol. 23(4), pp 325-341, June 2004.

KEYWORDS: complementarity, applied general equilibrium, quotas, tariff-rate quotas, inequality constraints, algorithm

Working Paper Number IP-78 can be downloaded in PDF format.

Section 4 of the paper contains an application relating to changes in import quotas in Indonesia. You can download software which will enable you to reproduce the results in this part of the paper. Included in this download is the TABLO Input file for the model (the WAYANG model). After you download this zip file IP78SOFT.ZIP, unzip the contents into a new subdirectory and follow the instructions in the file README.TXT.

Go to working papers page