Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Franco Calle*
* El autor agradece los excelentes comentarios y el apoyo incondicional del profesor Mario D. Tello en la elaboración
de este manual.
1
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Índice
INTRODUCCIÓN 3
3. Balanceo 15
Listados de código
ras2014.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
sambal.gms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
INTRODUCCIÓN
Los Modelos Computables de Equilibrio General (MCEG) utilizan las herramientas teóricas del equi-
librio general como base para modelar las dinámicas de una economía de manera estática o dinámica.
Este tipo de modelos permiten evaluar los efectos micro y macro de una economía en escenarios con-
trafactuales bajo un marco analítico consistente al considerarse los equilibrios de oferta y demanda
(sectorial y agregada), y la igualdad entre gastos e ingresos de los agentes de una economía (consumi-
dores, productores e instituciones) (ver, Shoven y Whalley 1984; Cicowiez 2011; Tello 2015).
Para realizar estos modelos es necesario seguir una secuencia de pasos los cuales requieren del uso de
programas de computo y conocimiento en lenguaje de programación. Los pasos para la construcción un
MCEG son (1°) denición de las ecuaciones del modelo, (2°) construcción de una matriz de contabilidad
social (SAM por sus siglas en inglés: Social Accounting Matrix), (3°) balanceo de la matriz SAM, (4°)
calibración de los parámetros estructurales del modelo, (5°) programación del benchmark equilibrium
equilibrio económico inicial y (6°) computación de las simulaciones. Estos pasos son implementados
en programas como GAMS, Excel, MatLab, etc.
El objetivo del presente manual es describir los aspectos técnicos necesarios para la construcción del
Modelo de Equilibrio General Computable descrito en Tello (2015). Para lograr esto, se mostrarán
y explicarán los códigos de los programas que fueron creados y utilizados para realizar los pasos
mencionados en el párrafo anterior.
El manual se divide en 5 secciones, la primera sección presenta la forma analítica del modelo y describe
las características y supuestos del mismo; la segunda sección presenta la estructura de la matriz de con-
tabilidad social; la tercera sección muestra y explica los códigos que fueron utilizados para el balanceo
de la matriz SAM; la cuarta sección hace énfasis en la calibración de los parámetros estructurales del
sistema de ecuaciones del modelo; la quinta sección muestra las técnicas utilizadas para la obtención
del benchmark equilibrium ; nalmente, la sexta sección explica la realización de las simulaciones del
modelo. En el anexo 1 se realizará un breve repaso sobre los conocimientos básicos de programación
en GAMS, en el anexo 2 se presentan los resultados de la calibración de los parámetros y en el anexo
3 se presenta el código utilizado para importar los datos en el modelo.
3
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
El modelo de equilibrio general computable de Tello (2015) consiste en un sistema de ecuaciones que
buscan representar las interacciones entre los agentes de la economía peruana para el año 2007. En
este modelo existen hogares, rmas (o sectores económicos), factores de producción y el gobierno. Las
características y supuestos del modelo en cuestión son las siguientes.
i) Factores de Producción:
ii) En el modelo existen 4 grupos de consumidores, el primer grupo C1 percibe ingresos por
la dotación de su mano de obra la cual es la menos calicada L1 . El segundo grupo C2
percibe ingresos por la dotación de L2 . El tercer C3 y cuarto grupo C4 perciben ingresos
por sus dotaciones de mano de obra L3 y L4 y por las dotaciones de capital K y recursos
naturales Ri (donde i = 1, 4) que poseen.
iii) El modelo está compuesto por 41 sectores transables y 1 no transable Servicios de ad-
ministración pública, defensa y otros . Entre los 41 sectores transables existen 4 sectores
que explotan recursos naturales Ri (donde i = 1, 4), estos son los productos agropecuarios,
de caza y silvicultura; productos de la pesca y acuicultura; petroleo crudo, gas natural y
4
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
servicios conexos. Los demás sectores hacen uso de capital y mano de obra. En el Cua-
dro 1 se presentan los sectores del modelo organizados según tipo de actividad (primaria,
secundaria y terciaria).
iv) El modelo consta de 4851 ecuaciones y 4852 variables. Del total de variables, 4851 se
determinan de manera endógena mientras que el precio del ahorro Ps es jado pues es el
bien numerario.
5
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
v) Distorsiones:
vii) No existe consumo intertemporal, todo el consumo que se realiza ocurre en tiempo presente.
viii) Los consumidores no demandan los bienes producidos por los sectores petróleo crudo, gas
natural y servicios conexos; productos minerales; productos de la siderurgia; y materiales
preciosos y no ferrosos.
ix) En el Cuadro 1 se muestran los factores de producción que son utilizados por cada uno de
los sectores, los casilleros con un asterisco (*) indican que el sector utiliza el factor señalado
al inicio de la columna, los espacios en blanco indican que el sector no utiliza el factor de
producción.
6
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
7
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
El modelo consta de 6 bloques de ecuaciones. El primer bloque (Cuadro 2) hace referencia a las ecua-
ciones de precios. En estas funciones se determinan los precios de los bienes y el retorno de los factores
jos. Las ecuaciones 1° y 2° determinan los precios domésticos de bienes importados PiM y exportados
PiE . Los precios domésticos de bienes importados son mayores a los precios internacionales de impor-
tación PiwM dado que las importaciones están sujetas a aranceles. Por el lado de las exportaciones,
el precio doméstico de exportación es igual al internacional P wE , esto es porque las exportaciones
no están sujetas a impuestos. Los margenes de comercialización µi son 0 para todos los sectores del
modelo. La ecuación 3° determina los precios de los bienes compuestos de producción PiQs , los cuales
son calculados como una ponderación entre el precio de los bienes producidos en el mercado doméstico
PiX y los precios de exportación PiE . La ecuación 4° sirve para la determinación de los precios del bien
compuesto de consumo PiQc , estos precios son calculados a partir de la ponderación entre PiX y PiM .
Finalmente la ecuación 5°, representa la condición de benecio 01 para los sectores del 1 al 4 en donde
se determinarán los precios de los factores especícos ri .
Ecuación Índices N°
Transables
1° i = 1, 40 ; 42 41
PiM = PiwM . 1 + tMi . (1 + µi ) .T c
2° PiE = PiwE . 1 + tE
i . (1 + µi ) .T c i = 1,40 ;42 41
Compuestos: Exportables e Importables
PiX Ci +PiM Mi
3° PiQc = P Ch h = 1,4 ; i = 1,40 ; 42 41
h Qi
Pi Xis +PiE Ei
X
4° PiQs = Qsi i = 1,40 ; 42 41
Retorno hde los Factores Fijos
Qs s i
P P
M M Qi
PiQs .Qs −(1+tX
i )
42 X i − 42
P
w f Lf i − j=1 Pj aji . A j=1 Pj aji . A
5° ri =
f i i
i = 1, 4 4
(1+tX
i )Ri
El segundo bloque (Cuadro 3) de ecuaciones determina el nivel de producción de las rmas y la cantidad
de bienes y servicios demandada por los hogares y el gobierno. Las ecuaciones 1° y 2° representan las
funciones de demanda por bienes y servicios transables Qhci y no transable C41
h
, estas funciones son
derivadas a partir de una función de utilidad con la forma CES.
La ecuación 3° determina la cantidad total demandada del bien i por el consumidor h Cih , y sigue la
forma funcional Armington. La ecuación 4° muestra la función de demanda por bienes importados Mcih
1 Costos iguales a ingresos.
8
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
de cada uno de los consumidores. La demanda del gobierno por bienes y servicios GDi es representada
por la ecuación 5°. En el sub-bloque 'demanda agregada de los bienes de consumo de hogares' se
encuentra el consumo agregado de bienes domésticos Ci , de bienes importados Mci y de bienes totales
Qci realizado por los consumidores.
En el sub-bloque 'producción de bienes y servicios' las ecuaciones 9°, 10° y 15° representan la condición
de benecio 0 en donde se determinarán los niveles de producción destinada al mercado doméstico
Xis . El nivel de producción destinada al mercado externo Ei es obtenido a partir de la ecuación 11°,
mientras que la 12° determina el nivel de producción total de los sectores Qsi , esta última sigue la
forma funcional CET. Las ecuaciones 7°, 8° y 14° son las funciones de producción de Qsi y X41 estas
0
s
funciones son utilizadas como ecuaciones de consistencia . La variable DIF Q de la ecuación 13° sirve
para comprobar que los niveles de producción obtenidos por las funciones de producción son iguales a
los obtenidos por la función CET.
En el sub-bloque 'demanda intermedia y de inversión', las ecuaciones en 17°, 18° y 19° determinan el
nivel de consumo intermedio doméstico Xij , inversión extranjera Iid , inversión doméstica IiM y consumo
intermedio de bienes importados Mij .
9
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Ecuación Índices N°
Demanda de Bienes de Consumo de Hogares y del Gobierno
i−ρh hP i−1
Q1−ρh
h
1° h = 1,4 ; i = 1,40; 42 164
ph
X 1−ρh hρh
Qhci = Y dh PiQc /θih i Pi
c
θih + P41 θ41
X h −ρh hP Q1−ρh i−1
2° h
C41 = Y dh P41 /θ41 P
i i
c
θ hph
i + P X 1−ρh hρh
41 θ 41 i=4 4
" # Q1
h
h d
i −1Q ρ hi
3° Q
C h = Di ϕ + (1 − ϕ ) m i i
i αhi
P
i
ϕ ( 1+ρ hi )
i Pi (1−ϕi ) i = 1,40; 42 ; h = 1,4 164
1
PiX ϕi
h i
4° h
Mci = Cih PiM (1−ϕi )
1+ρQhi
h = 1, 4; i = 1,40; 42 164
5° ; i = 1, 42 42
gi
(1 − sg ) αP x gi
P
GDi = T i α =1
i
Demanda P
Agregada de P
los bienes de Consumo de Hogares
6° Cih ; Mci = h
; Qci = Qhci h = 1,4 ; i = 1,40 ; 42 124
P
Ci = h h Mci h
Producción de Bienes y Servicios
σi −1 σi −1
σ σi
i−1
7° Qsi
σi σi
i = 5, 40 ; 42 37
P
= Ai δKi + f δf i Lf i
σi −1 σi −1
σ σi
i−1
8° s σi σi
i = 1, 4 4
P
Qi = Ai δRi Ri + f δf i Lf i
Qs Qs
h P P i
(1+tX
i )(ri Ki + f wf Lf i )+
42 x i + M M i −PiE Ei
P
j=1 Pj aji A j Pj aji
9° Xis = Pix
i Ai
i = 5, 40; 42 37
Qs Qs
h P P i
(1+tX )(ri Ri + f wf Lf i )+ 42 x i + M M i −PiE Ei
P
j=1 Pj aji A j Pj aji
10° i = 1, 4 4
i Ai
Xis = Pix
i
i1/ρQsi
PiE φi
h
11° Ei = Xis Pis (1−φi ) i = 1, 41 41
i 1
s(ρqi ) ρQsi
h qi
12° i = 1, 41 41
0
Qsi = β φi Eiρ + (1 − φi ) Xi
13° i = 1, 41 41
0
DIF Q = Qsi − Qsi
σ41 −1 σ41 −1
σ σ41
41−1
14° s σ41 σ41
1
P
X41 = Ai δK41 + f δf 41 Lf 41
( )
P42 x s
j=1 Pj aji X41
[(1+txi )(rKi + wf Lif )]+
P
15° 1
0
s f A41
X41 = x
P41
16° 1
0
DIF Xi = Xis − Xis
Demanda Intermedia y de Inversión
Qs Qs Xs
17° Xij = aij Aji ; IiM = aM
i Ai ; I41 = a41 A41
i d 41
1764
Qsj Qsi Xs
18° Iid = ai Aj ; IiM = aM
i Ai ; d
I41 = a41 A41
i
83
Importaciones de Bienes Intermedios
Qs
19° Mij = aM j
ij Aj i, j = 1, 40; 42 1681
10
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Ecuación Índices N°
Demanda de Factores
Qsi
1° Lif = δ P n o −σi f = 1, 4 ; i = 5, 40; 42 148
if σ 1−σi σi −1
Ai wf f δifi wf +δ σi r 1−σi
s
2° L41f = δ σ41 P
σ41 1−σ41
X41
−σ41 f = 1, 4 4
A41 41f
wf ( f{δ41f wf }+δσ41 r1−σ41 ) σ41 −1
( " #) σ σ−1
i
hP σi i−1 σ σ−1
i σiσ−1 σi i
3° Lif = f
σi
δif (wf ) σi −1
δif
wf
i Qsi
Ai
i σi −1
− δri Ri i = 1, 4 ; f = 1, 4 16
−σi
Qsi
P n o
δik σ
4° σi 1−σi σi 1−σi σi −1
f = 1, 4 ; i = 5, 40 ; 42 37
Ki = Ai f δ w
if f
r + δ r
s n o −σ41
δ41k σ P
5° K41
Q41
= A41 r
σ41 1−σ41
f δ41f wf
σ41 1−σ41 σ41 −1
+δ r f = 1, 4 1
El cuarto grupo (Cuadro 5) presenta las ecuaciones de equilibrio de mercado donde se cumple la
condición de oferta igual a demanda. La ecuación 1° representa el equilibrio de mercado de bienes y
servicios. Las ecuaciones 3° y 4° representan el equilibrio en el mercado de mano de obra Lif y capital
K respectivamente.
Ecuación Índices N°
No Transables e Importables y Exportables
1° Xis = Ci + GDi + Xij + Iid i,j = 1, 42 42
P
j
Factores
3° f = 1,4 ; i = 1, 42 4
P
Pi Lif ≤ Lf
4° Ki ≤ K3 + K4 = K ; K3 = 0,87 i Ki ; K4 = 0,13 i Ki i = 5, 42 1
P P
El quinto grupo (Cuadro 6) consiste en las ecuaciones de cierre donde están representadas las identi-
dades macroeconómicas. El primer sub-bloque esta compuesto por la ecuación del ingreso total de los
hogares Yh , el ingreso disponible de los hogares Y dh y el ingreso agregado disponible Y d. En el segundo
sub-bloque 'Recaudación de Impuestos y Décit Fiscal' la ecuación 4° determina la recaudación del
gobiernoT ; la ecuación 5°, el gasto total del gobierno Gd; y la ecuación 6°, el décit scal del gobierno
DF .
El tercer sub-bloque (ecuación 8°) hace referencia a la balanza comercial BC que es el negativo de la
11
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
balanza de capitales BK . La ecuación 9° determina el ahorro total de los hogares P s.S donde P s es el
precio del ahorro. Finalmente en el último sub-bloque 'Producto Bruto Interno a Precios Domésticos
e Internacionales' las ecuaciones desde la 10° hasta la 16° determinan el nivel agregado de consumo
a precios domésticos Cd, a precios internacionales Cw; el nivel de inversión a precios domésticos I , a
precios internacionales Iw; gasto público a precios domésticos G, a precios internacionales Gw; y el
PBI a precios domésticos P BId e internacionales P BIw.
Ecuación Índices N°
Ingreso Nacional
h
1° i = 1, 4 ; h = f = 1 , 4 42
P P
Yh = i ri Ri +wf i Lif + r.Kh
2° Y dh =P1 − tY h (1 − sh ) Yh h = 1, 4 4
3° Y d = h Y dh h = 1, 4 1
Recaudación dehImpuestos y Décit
i Fiscalh i
T = i txi . i = 5,40; 42 ; j =1, 4
P P P x P
w L
f fi + r.K i + t
j j . w L
f f fi + r R
j j +
4° P f wE E 1
k, l = 1,40;42; h = 1,4
P Yh
h t Yh + k Pk .tk (1 + µk ) .T c.Ek
wM M
P P
+ l Pl .tl (1 + µl ) .T c. MCl + j Mlj
5° Gd = i Pix GDi i = 1 , 42 1
P
6° DF = Gd − T = −sg .T = −Sup 1
Balanza Comercial
8° PiE − PiwM . MCi + j Mij = −BK i = 1, 40 ; 42 1
P P P
BC = i i
Ahorro Total
P de Hogares
9° Ps S = h sh 1 − tY h Yh h = 1, 4 1
Producto Bruto Interno a Precios Domésticos e Internacionales
10° 42
Cd = P1 PiX Ci +P 1 PjM Mcj
41
1
P P
11° Cw = i PiX Ci + j PjwM Mcj i = 1, 42 ; j = 1, 40 ; 42 1
12° I = i PiX Iid + j PjM IjM i = 1, 42 ; j = 1, 40 ; 42 1
P P
13° i = 1, 42 ; j = 1,40 ; 42 1
P x d P wM M
Iw = i Pi Ii + j Pj Ij
14° Gw = Gd 1
15° P BId = Cd + Gd + I + BC 1
16° P BIw = Cw + Gw + Iw + BC 1
12
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Ecuación Índices N°
Bienestar del Individuo
ρh −1 ρh −1 ρ ρh−1
h
1° h=1,4 4
ρh ρh
U h = θ41
h h h
P
C41 + i θi Qhi
2° V h
=U h(1−sh )
S hsh
h = 1, 4 4
Función de Gasto
1−ρh
3° h = 1, 4 4
ρ
x1−ρh hρh
P = i PiQc θih h + P41
P
θ41
4° eh = i PiQc Qhci + P41x h
C41 + Ps S h + T h h = 1, 4 4
P
(1−sh )
h
h (1−s )
5° sh
h = 1, 4 1
h h
Yh
e = V Sh 1 − s 1−t P (1−ρh )
Variación Equivalente
h 0 i
8° 1
P4 1
h
VE = h e V h .P 0 − eh V h , P 0
h 0 i
9° h1
1
P4 h 1
VC = h e V .P − eh V h , P 1
La Matriz de Contabilidad Social (SAM) según Tello (2015), representa las transacciones comerciales
de una economía en un año determinado. Esta es una matriz cuadrada cuyo número de las y columnas
depende de los componentes y sectores de la economía que estén incluidos, además se tiene que cumplir
que la suma de las las sea igual a la suma de las columnas. La matriz tiene información sobre las
actividades de los sectores de la economía, bienes y servicios producidos, consumidores, factores, entre
otros.
Para poder construir una matriz SAM es necesario contar con datos sobre compras y ventas entre los
sectores de la economía, el uso de factores de producción de cada sector en la economía, las compras de
los hogares de la economía, etc.; esta información puede ser obtenida a partir de las matrices insumo
producto, encuestas de hogares y series macroeconómicas proporcionadas por los Bancos Centrales y
centros estadísticos de los países. Para el caso del Perú, el INEI Instituto Nacional de Estadística e
Informática cuenta con información al respecto, han elaborado matrices insumo-producto para los años
1997 y 2007 la que fue utilizada para la construcción del modelo fue la del 2007 , poseen información
sobre la calicación de la mano de obra según el nivel educativo que poseen en los individuos en
las encuestas de hogares (ENAHO: Encuesta Nacional de Hogares), además de información sobre las
variables macroeconómicas como el PBI, ahorro, etc.
13
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Luego de haber armado la matriz de contabilidad social encontraremos que la suma de las las no
es igual a la suma de las columnas, es decir si sumamos todos los componentes de la primera la, el
valor que obtengamos no será igual a la suma de todos los componentes de la primera columna. Para
lograr que esta condición se cumpla es necesario balancear la matriz. El balanceo puede ser realizado
utilizando programas que por medio de algoritmos logren el objetivo planteado, para esto existen
dos métodos muy frecuentados que permiten balancear una matriz SAM.
Para poder construir la Matriz SAM sin balancear es necesario saber cuál será la estructura de nuestra
matriz, a esta forma conceptual de la matriz será llamada SAM teórica (sólo por nes didácticos).
Ventas
Actividades Domésticas
Export.
Valor
Factores Agregado
Pago a los
Hogares Factores
Transfer.
Impuestos Impuestos
Gobierno Indirectos
Aranceles
Directos
Resto Import.
del Mundo
Fuente: Tello (2015) Cuadro 3.1 página 102
Existen múltiples componentes de la matriz SAM teórica que deberemos rellenar en adelante con los
datos de la economía peruana, esta matriz debe ser construida de tal forma que la agregación de los
componentes de la matriz (Macro SAM) esté balanceada. Para más detalles de cómo armar la matriz
SAM ver Tello (2015). La matriz Macro SAM se presenta en el Cuadro 9.
14
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Resto 77 257
del Mundo
Fuente: Tello (2015) Cuadro 3.1 página 102
3. Balanceo
El siguiente paso luego de haber construido la matriz SAM sin balancear es el de balanceo este pro-
cedimiento permitirá que la suma de las las de la matriz sea igual a la suma de las columnas. Para
lograr este objetivo existen múltiples métodos, entre los más usados están el método 'RAS' y el método
de 'Programación no Lineal'.
Según Tello (2015), el método RAS es un procedimiento iterativo que consiste en determinar en la
iteración 't' la matriz M t = R.M 0 .S donde R y S son matrices diagonales tal que las sumas de cada
la y columnas 'i' converjan a un mismo valor. El código MatLab para realizar este procedimiento es
el siguiente:
15
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
La bondad de este procedimiento es que permite balancear una matriz cuadrada o rectangular y asignar
los valores que uno desee a la suma de los componentes de las las y de las columnas (por ejemplo uno
querría que las las sumen igual que las columnas) con la única restricción que la suma de la suma de
las las debe ser igual a la suma de la suma de las columnas.
16
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
Los pasos para hacer uso del programa son, colocar la suma de las columnas que asumiremos para
nuestra matriz dentro de los corchetes que se encuentran en la sentencia 'rowsum = [ ... ]' (linea 3),
estos valores deben estar insertados de forma vertical en el código. Luego se colocan los valores que
se asignan a la suma de columnas de forma horizontal en 'colsum = [ ... ]' (linea 5). Estos, tienen que
seguir la restricción de que la suma de las sumas de las las sea igual a la suma de la suma de las
columnas.
Finalmente se colocan los valores de la matriz (rectangular o cuadrada) en 'A0 = [...]' (linea 6), la
única restricción que existe en el programa sobre la matriz es que debe tener rango completo, es decir
las las y columnas deben ser linealmente independientes.
Entre las lineas 7 y 9 del código se programa la condición > eps donde 'eps'
P P
| (rowsum)−
P (colsum)|
| (rowsum)|
tiene el valor asignado en 'eps=0.0000000001' que aborta la ejecución del programa en caso de que se
cumpla. Es por esto la importancia de colocar, con la mayor precisión posible, los números de la suma
de las y suma de columnas, esto se logra incorporando la mayor cantidad de decimales en el código
MatLab.
Para balancear la matriz del modelo se balanceo la sub-matriz de consumo intermedio junto con las
secciones de consumo de los hogares, consumo de gobierno e inversión de tal forma que la suma de
las las sea la suma de las columnas. Esta sub matriz balanceada es incorporada en la SAM. Una vez
balanceada la matriz se realiza el re-escale de la misma con la nalidad de que la suma de las variables
de las cuentas nacionales que dan el PBI a partir de los 3 métodos ingreso, gasto y producción den
el PBI peruano para el año 2007.
Lineal (GAMS)
2 Para mayor explicación sobre la teoría detrás del método de programación no lineal ver Tello (2015)
17
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
1 option decimals = 4;
2 Set i a c c o u n t s / x1 * x17 / ; a l i a s ( i , j ) ;
3
10 d i s p l a y SAM;
11
12 parameter xb ( i , j ) ;
13
14 xb ( i , j )=SAM( i , j ) ;
15
16 d i s p l a y xb ;
17
18 Parameter
19
20 tw ( i ) w e i g h t s for t o t a l s
21
24 tb ( i ) o r i g i n a l t o t a l s
25 / x1 3790.45977
26 .
27 .
28 .
29 x17 181 / ;
30 parameter xb ( i , j ) ;
31 xb ( i , j )=SAM( i , j ) ;
32 d i s p l a y xb ;
33
34 parameter
18
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
35 tw ( i ) w e i g h t s for t o t a l s
36 xw( i , j ) w e i g h t s for c e l l s ;
37
38 tw ( i ) = 1 ; tw ( i ) $ ( tb ( i )=na ) = 0 ;
39 xw( i , j ) = 1$xb ( i , j ) ; xw( i , j ) $ ( xb ( i , j )=na ) = 0 ;
40
41 D i s p l a y tw , xw ;
42
43 Variables x( i , j ) estimated c e l l s
44 t(i) estimated t o t a l s
45 dev deviations ;
46
47 Equations r b a l ( i ) row b a l a n c e
48 c b a l ( j ) column b a l a n c e
49 devsqr d e f i n i t i o n of square deviations ;
50
64 d i s p l a y rep ;
65 execute_unload ' sambalance ' , x
66 e x e c u t e ' gdxxrw . exe sambalance . gdx o = " D i r e c t o r i o _ e x p o r t . x l s " var=x rng=x ! '
19
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
En primer lugar se debe colocar las dimensiones que contiene nuestra matriz SAM sin balancear. GAMS
permite la programación de un modelo de hasta 300 variables usando el código 'solve' qcp sin licencia.
En la parte inicial del programa, en la sección 'set' (linea 2), es donde pondremos las dimensiones de
matriz. En el caso que tengamos una matriz 17 por 17, entonces el índice i llegará hasta 17. Asignamos
un alias al sub-índice 'i' con la letra 'j' para poder llamar al mismo índice 2 veces en una misma
sentencia.
En segundo lugar importamos la matriz SAM desde un archivo Excel para evitarnos el trabajo de copiar
uno por uno los datos en la hoja de GAMS. Estos datos deben estar en millones para que así la ejecución
del programa sea más rápida, para ello solo basta dividir los datos de la matriz SAM sin balancear
entre 1 millón. En el Cuadro 10 se puede ver el formato Excel para poder importar los datos. La
sentencia que nos ayudará a importar la matriz es '$CALL GDXXRW.EXE "Directorio_import.xlsx"
par=SAM rng=A1:Q18' (linea 4). El comando $CALL sirve para hacer un llamado a archivos que sigan
una extensión externa al programa GAMS como .xls, .csv, .m, entre otros. El comando GDXXRW.EXE,
sirve para pasar el archivo Excel a formato GDX. La extensión GDX es la extensión de un software
adjunto al programa GAMS llamado 'GDX viewer' que permite la lectura de información exterior a
la del programa GAMS. La sentencia 'par=SAM' en el código sirve para denir la existencia de un
parámetro llamado SAM, 'rng=A1:Q18' da la orden al programa para que solo lea la primera hoja
desde la celda A1 hasta la celda Q17. En caso que quisiéramos leer alguna hoja especíca llamada, por
ejemplo, 'pruebahoja' colocaríamos 'rng=pruebahoja!A1:AQ43'. Luego denimos las dimensiones de
nuestro parámetro con la sentencia 'parameter SAM(i,j)'. Finalmente cerramos el código para importar
los datos con '$GDXIN' 'SAM.gdx', '$LOAD SAM' y '$GDXIN'.
Luego de importar los datos de la matriz SAM denimos estos valores como la matriz xb(i,j). Otro
input que requiere el programa para realizar el procedimiento de balanceo son los totales originales de
la matriz. Es posible colocar los totales de las las o de las columnas en la misma hoja de GAMS o
20
Franco Calle - Jefe de Prácticas del Departamento de Economía de la PUCP
importarlos desde Excel en el presente código los valores fueron colocados en la hoja GAMS, y fueron
denidos con el nombre tb(i) .
Finalmente se exportan los datos estimados a un nuevo archivo Excel para poder manipularlo y realizar
la calibración del modelo. Para ello se utiliza primero el comando "execute_unload 'sambalance', x ",
que permite crear un archivo llamado 'sambalance' con la extensión gdx el cual contenga los datos de
la variable x, es decir, nuestra variable con los valores estimados de la matriz. Luego se utiliza "execute
'gdxxrw.exe sambalance.gdx o = "Directorio_export.xls" var=x rng=x!' ", para ejecutar en GAMS el
programa sambalance.gdx y exportar los datos de la variable x a "Directorio_export.xls" en la hoja
'x' (rng=x!').
21