MACRO - Mathematical formulation

This page is generated from the auto-documentation in MACRO/model_core.gms.

MACRO is a macroeconomic model maximizing the intertemporal utility function of a single representative producer-consumer in each node (or macro-economic region). The optimization result is a sequence of optimal savings, investment, and consumption decisions. The main variables of the model are the capital stock, available labor, and commodity inputs, which together determine the total output of an economy according to a nested constant elasticity of substitution (CES) production function. End-use service demands in the (commercial) demand categories of MESSAGE is determined within the model, and is consistent with commodity supply curves, which are inputs to the model.

Notation declaration

The following short notation is used in the mathematical description relative to the GAMS code:

Math Notation GAMS set & index notation Description
\(n\) node (or node_active in loops) spatial node corresponding to the macro-economic MESSAGE regions
\(y\) year year (2005, 2010, 2020, …, 2100)
\(s\) sector sector corresponding to the (commercial) end-use demands of MESSAGE

A listing of all parameters used in MACRO together with a decription can be found in the table below.

Parameter Description
\(duration\_period_y\) Number of years in time period \(y\) (forward diff)
\(total\_cost_{n,y}\) Total system costs in region \(n\) and period \(y\) from MESSAGE model run
\(enestart_{n,s,y}\) Consumption level of (commercial) end-use services \(s\) in region \(n\) and period \(y\) from MESSAGE model run
\(eneprice_{n,s,y}\) Shadow prices of (commercial) end-use services \(s\) in region \(n\) and period \(y\) from MESSAGE model run
\(\epsilon_n\) Elasticity of substitution between capital-labor and total energy in region \(n\)
\(\rho_n\) \(\epsilon - 1 / \epsilon\) where \(\epsilon\) is the elasticity of subsitution in region \(n\)
\(depr_n\) Annual depreciation rate in region \(n\)
\(\alpha_n\) Capital value share parameter in region \(n\)
\(a_n\) Production function coefficient of capital and labor in region \(n\)
\(b_{n,s}\) Production function coefficients of the different end-use sectors in region \(n\), sector \(s\) and period \(y\)
\(udf_{n,y}\) Utility discount factor in period year in region \(n\) and period \(y\)
\(newlab_{n,y}\) New vintage of labor force in region \(n\) and period \(y\)
\(grow_{n,y}\) Annual growth rates of potential GDP in region \(n\) and period \(y\)
\(aeei_{n,s,y}\) Autonomous energy efficiency improvement (AEEI) in region \(n\), sector \(s\) and period \(y\)
\(fin\_time_{n,y}\) finite time horizon correction factor in utility function in region \(n\) and period \(y\)

Decision variables

Variable Definition Description
\(K_{n,y}\) \({K}_{n, y}\geq 0 ~ \forall n, y\) Capital stock in region \(n\) and period \(y\)
\(KN_{n,y}\) \({KN}_{n, y}\geq 0 ~ \forall n, y\) New Capital vintage in region \(n\) and period \(y\)
\(Y_{n,y}\) \({Y}_{n, y}\geq 0 ~ \forall n, y\) Total production in region \(n\) and period \(y\)
\(YN_{n,y}\) \({YN}_{n, y}\geq 0 ~ \forall n, y\) New production vintage in region \(n\) and period \(y\)
\(C_{n,y}\) \({C}_{n, y}\geq 0 ~ \forall n, y\) Consumption in region \(n\) and period \(y\)
\(I_{n,y}\) \({I}_{n, y}\geq 0 ~ \forall n, y\) Investment in region \(n\) and period \(y\)
\(PHYSENE_{n,s,y}\) \({PHYSENE}_{n, s, y}\geq 0 ~ \forall n, s, y\) Physical end-use service use in region \(n\), sector \(s\) and period \(y\)
\(PRODENE_{n,s,y}\) \({PRODENE}_{n, s, y}\geq 0 ~ \forall n, s, y\) Value of end-use service in the production function in region \(n\), sector \(s\) and period \(y\)
\(NEWENE_{n,s,y}\) \({NEWENE}_{n, s, y}\geq 0 ~ \forall n, s, y\) New end-use service in the production function in region \(n\), sector \(s\) and period \(y\)
\(EC_{n,y}\) \(EC \in \left[-\infty..\infty\right]\) Approximation of system costs based on MESSAGE results
\(UTILITY\) \(UTILITY \in \left[-\infty..\infty\right]\) Utility function (discounted log of consumption)

Equation UTILITY_FUNCTION

The utility function which is maximized sums up the discounted logarithm of consumption of a single representative producer-consumer over the entire time horizon of the model.

\[\begin{split}{UTILITY} = \sum_{n} \bigg( & \sum_{y | ( ( {ord}( y ) > 1 ) \wedge ( {ord}( y ) < | y | ) )} {udf}_{n, y} \cdot {\log}( C_{n, y} ) \cdot {duration\_period}_{y} \\ + &\sum_{y | ( {ord}( y ) = | y | ) } {udf}_{n, y} \cdot {\log}( C_{n, y} ) \cdot \big( {duration\_period}_{y-1} + \frac{1}{{FIN\_TIME}_{n, y}} \big) \bigg)\end{split}\]

The utility discount rate for period \(y\) is set to \(drate_{n} - grow_{n,y}\), where \(drate_{n}\) is the discount rate used in MESSAGE, typically set to 5%, and \(grow\) is the potential GDP growth rate. This choice ensures that in the steady state, the optimal growth rate is identical to the potential GDP growth rates \(grow\). The values for the utility discount rates are chosen for descriptive rather than normative reasons. The term \(\frac{{duration\_period}_{y} + {duration\_period}_{y-1}}{2}\) mutliples the discounted logarithm of consumption with the period length. The final period is treated separately to include a correction factor \(\frac{1}{{FIN\_TIME}_{n, y}}\) reflecting the finite time horizon of the model. Note that the sum over nodes \(node\_active\) is artificial, because \(node\_active\) only contains one element.

Equation CAPITAL_CONSTRAINT

The following equation specifies the allocation of total production among current consumption \({C}_{n, y}\), investment into building up capital stock excluding the sectors represented in MESSAGE \({I}_{n, y}\) and the MESSAGE system costs \({EC}_{n, y}\) which are derived from a previous MESSAGE model run. As described in [4], the first-order optimality conditions lead to the Ramsey rule for the optimal allocation of savings, investment and consumption over time.

\[Y_{n, y} = C_{n, y} + I_{r, y} + {EC}_{n, y} \qquad \forall{n, y}\]

Equation NEW_CAPITAL

The accumulation of capital in the sectors not represented in MESSAGE is governed by new capital stock equation. Net capital formation \({KN}_{n,y}\) is derived from gross investments \({I}_{n,y}\) minus depreciation of previsouly existing capital stock.

\[{KN}_{n,y} = {duration\_period}_{y} \cdot I_{n,y} \qquad \forall{n, y > 1}\]

Here, the initial boundary condition for the base year \(y_0\) implies for the investments that \(I_{n,y_0} = (grow_{n,y_0} + depr_{n}) \cdot kgdp_{n} \cdot gdp_{n,y_0}\).

Equation NEW_PRODUCTION

MACRO employs a nested constant elasticity of substitution (CES) production function with capital, labor and the (commercial) end-use services represented in MESSAGE as inputs. This version of the production function is equaivalent to that in MARKAL-MACRO.

\[{YN}_{n,y} = { \left( {a}_{n} \cdot {{KN}_{n, y}}^{ ( {\rho}_{n} \cdot {\alpha}_{n} ) } \cdot {{newlab}_{n, y}}^{ ( {\rho}_{n} \cdot ( 1 - {\alpha}_{n} ) ) } + \displaystyle \sum_{s} ( {b}_{n, s} \cdot {{NEWENE}_{n, s, y}}^{{\rho}_{n}} ) \right) }^{ \frac{1}{{\rho}_{n}} } \qquad \forall{ n, y > 1}\]

Equation TOTAL_CAPITAL

Equivalent to the total production equation above, the total capital stock, again excluding those sectors which are modeled in MESSAGE, is then simply a summation of capital stock in the previous period \(y-1\), depreciated with the depreciation rate \(depr_{n}\), and the capital stock added in the current period \(y\).

\[K_{n, y} = K_{n, y-1} \cdot { \left( 1 - {depr}_n \right) }^{duration\_period_{y}} + {KN}_{n, y} \qquad \forall{ n, y > 1}\]

Equation TOTAL_PRODUCTION

Total production in the economy (excluding energy sectors) is the sum of production from assets that were already existing in the previous period \(y-1\), depreciated with the depreciation rate \(depr_{n}\), and the new vintage of production from period \(y\).

\[Y_{n, y} = Y_{n, y-1} \cdot { \left( 1 - {depr}_n \right) }^{duration\_period_{y}} + {YN}_{n, y} \qquad \forall{ n, y > 1}\]

Equation NEW_ENERGY

Total energy production (across the six commerical energy demands \(s\)) is the sum of production from all assets that were already existing in the previous period \(y-1\), depreciated with the depreciation rate \(depr_{n}\), and the the new vintage of energy production from period \(y\).

\[{PRODENE}_{n, s, y} = {PRODENE}_{n, s, y-1} \cdot { \left( 1 - {depr}_n \right) }^{duration\_period_{y}} + {NEWENE}_{n, s, y} \qquad \forall{ n, s, y > 1}\]

Equation ENERGY_SUPPLY

The relationship below establishes the link between physical energy \({PHYSENE}_{r, s, y}\) as accounted in MESSAGE for the six commerical energy demands \(s\) and energy in terms of monetary value \({PRODENE}_{n, s, y}\) as specified in the production function of MACRO.

\[{PHYSENE}_{n, s, y} \geq {PRODENE}_{n, s, y} \cdot {aeei\_factor}_{n, s, y} \qquad \forall{ n, s, y > 1}\]

The cumulative effect of autonomous energy efficiency improvements (AEEI) is captured in \({aeei\_factor}_{n,s,y} = {aeei\_factor}_{n, s, y-1} \cdot (1 - {aeei}_{n,s,y})^{duration\_period}_{y}\) with \({aeei\_factor}_{n,s,y=1} = 1\). Therefore, choosing the \({aeei}_{n,s,y}\) coefficients appropriately offers the possibility to calibrate MACRO to a certain energy demand trajectory from MESSAGE.

Equation COST_ENERGY

Energy system costs are based on a previous MESSAGE model run. The approximation of energy system costs in vicinity of the MESSAGE solution are approximated by a Taylor expansion with the first order term using shadow prices \(eneprice_{s, y, n}\) of the MESSAGE model’s solution and a quadratic second-order term.

\[\begin{split}{EC}_{n, y} = & {total\_cost}_{n, r} \\ + & \displaystyle \sum_{s} {eneprice}_{s, y, n} \cdot \left( {PHYSENE}_{n, s, y} - {enestart}_{s, y, n} \right) \\ + & \displaystyle \sum_{s} \frac{{eneprice}_{s, y, n}}{{enestart}_{s, y, n}} \cdot \left( {PHYSENE}_{n, s, y} - {enestart}_{s, y, n} \right)^2 \qquad \forall{ n, y > 1}\end{split}\]

Equation TERMINAL_CONDITION

Given the finite time horizon of MACRO, a terminal constraint needs to be applied to ensure that investments are chosen at an appropriate level, i.e. to replace depriciated capital and provide net growth of capital stock beyond MACRO’s time horizon [4]. The goal is to avoid to the extend possible model artifacts resulting from this finite time horizon cutoff.

\[K_{n, y} \cdot \left( grow_{n, y} + {depr}_n \right) \leq I_{n, y} \qquad \forall{ n, y = last year}\]