You are on page 1of 10

MTODOS MATEMTICOS PARA LA ECONOMA CON EXCEL

LPEZ ARES, SUSANA (slopez@econo.uniovi.es)


SNCHEZ ALVAREZ, ISIDRO (isanchez@econo.uniovi.es)
Departamento de Economa Cuantitativa - Universidad de Oviedo
Dentro de las mltiples opciones de las hojas de clculo para la modelizacin de
problemas de matemticas econmicas y empresariales, se ha seleccionado un grupo
representativo de diversos mbitos, no incluyendo ni los modelos de optimizacin ni
financieros, cuya amplitud y carcter especfico han aconsejado un tratamiento separado.
I. OPERACIONES MATRICIALES
Las hojas de clculo suelen disponer de buen nmero de funciones predefinidas para el
anlisis matricial. En concreto, Excel 97 dispone de las siguientes funciones:
TRASPONER(matriz): Permite hallar la matriz traspuesta.
MDETERM(matriz): Calcula el determinante de una matriz.
MINVERSA(matriz): Obtiene la matriz inversa.
MMULT(matriz1;matriz2): Multiplica dos matrices en el orden indicado.
Ahora bien, la introduccin de matrices en Excel requiere un proceso que suele resultar
extrao al alumno. Para ser considerada como matriz es preciso sombrearla y presionar la
combinacin de teclas: Control+Maysculas+Entrar. Adems, es preciso tener en cuenta los
errores de redondeo, no slo en los clculos matriciales sino en general en todas las operaciones
realizadas con la hoja de clculo. La precisin finita se traduce en el caso de la Excel 97 en tan
solo 15 cifras significativas, lo cual puede producir resultados errneos tales como los que se
ilustran a continuacin. Sea la matriz:
1
1
1
]
1

9 8 7
6 5 4
3 2 1
Si se calcula su determinante con la hoja de
clculo se obtiene: 6,66134E-16 que, si bien es prximo a cero parece indicar que la matriz es
inversible. Si se calcula la inversa se obtiene:
1
1
1
]
1

+ + +
+ + +
+ + +
15 5036 , 4 15 0072 , 9 15 5036 , 4
15 0072 , 9 16 80144 , 1 15 0072 , 9
15 5036 , 4 15 0072 , 9 15 5036 , 4
E E E
E E E
E E E
y si se multiplica la matriz inicial por la inversa se obtiene una matriz M que evidentemente no
es la matriz unitaria dado que la matriz no es inversible.
2
M =
1
1
1
]
1


0 0 0
4 0 4
0 0 0
Los errores de redondeo producen un determinante no nulo, si bien su valor exacto es
cero. Se podra haber intuido este problema observando el orden de magnitud del valor del
determinante, que supera el nmero de decimales mximo.
La posibilidad de programar macros en Visual Basic incrementa adems las
posibilidades de clculos matriciales y la automatizacin de procesos. A modo de ejemplo, se
presenta una funcin definida por el usuario para el clculo de potencias n-simas de una matriz
y un ejemplo de su aplicacin.
Function PotMatriz(matriz, n)
If n = 1 Then
PotMatriz = matriz
Else
PotMatriz = Application.MMult(PotMatriz(matriz, n - 1), matriz)
End If
End Function
II. SISTEMAS DE ECUACIONES LINEALES
Las posibilidades matriciales de que dispone la hoja de clculo permiten la resolucin
matricial de sistemas de ecuaciones lineales. Ahora bien, tambin es posible su solucin
planteando el sistema con una estructura similar a la requerida para los modelos de optimizacin
y utilizando el Solver. En el grfico siguiente se presenta la solucin del sistema:
4*x+10*y+5*z=27; x+5*y+4*z=17; 3*x+3*y+z=5
Se asignan celdas cambiantes para las variables (rango B3:D3), y se construye la parte
izquierda de las ecuaciones tal como se refleja en el grfico para el caso de la primera ecuacin.
3
Posteriormente se ejecuta el Solver colocando como celdas cambiantes el rango B3:D3 y
como restricciones E5:E7=F5:F7. La celda objetivo se deja en blanco.
III. APROXIMACIN NUMRICA DE RACES.
Las hojas de clculo disponen de macros predefinidas que permiten enfocar el problema
de la aproximacin numrica de races. La estrategia de bsqueda consiste en este caso en la
representacin grfica de la ecuacin en el intervalo de anlisis para conocer intuitivamente los
posibles puntos de corte con el eje de abscisas. Posteriormente, con la macro Buscar objetivo
se realizar un proceso de bsqueda numrica, cuya solucin depender en buena medida del
punto de partida. Para obtener una raz determinada ser necesario iniciar el proceso en un
punto cercano al objetivo deseado, si bien el proceso de aproximacin - una variacin del
mtodo de Newton - presenta comportamientos caticos y no siempre converge. En el grfico
4
anterior se presenta un ejemplo numrico. Una vez analizada grficamente la ecuacin, se
disea una celda donde se introduce la misma (C3) en funcin del valor de x (C1).
A continuacin, con la macro Buscar objetivo se indica que la celda C3 llegue a
obtener el valor numrico 0 realizando cambios en la celda C1. Una vez que obtiene una
solucin con el grado de exactitud fijado aparecer un mensaje para confirmar el valor obtenido
en C1, que ser una de las races de la ecuacin. El grado de exactitud y el mximo de
iteraciones a realizar se puede controlar en la seccin Herramientas/Opciones/Calcular.
IV. CLCULO NUMRICO DE INTEGRALES Y ECUACIONES DIFERENCIALES.
La obtencin de aproximaciones numricas de integrales se puede llevar a cabo bien
creando una hoja de trabajo tipo o bien automatizando el proceso mediante un mdulo en Visual
Basic. En nuestro caso, hemos optado por ilustrar esta segunda posibilidad dado que permite
mayor flexibilidad e integracin en otras aplicaciones. Los datos de entrada son los lmites de
integracin (a, b) y el nmero de subintervalos en que se divide el intervalo de integracin (n).
Un posible enfoque para el clculo aproximado de una integral es la aproximacin por
rectngulos tomando su valor en el punto medio, es decir, considerando que:
)
2
( ) (
1
0
h k
h
a f h dx x f
n
k
b
a
+ +

donde el intervalo de integracin (a,b) se divide en n subintervalos de longitud h=(b-a)/n. Para


recoger el proceso de integracin se crea el mdulo siguiente.
'Introducir la funcin a integrar
Private Function fun1(x)
fun1 = x ^ 2 + 1
End Function
Function Integral(Inferior, Superior, Intervalos)
Suma = 0
h = (Superior - Inferior) / Intervalos
For k = 0 To (Intervalos - 1)
Suma = Suma + fun1(Inferior + (h / 2) + k * h)
Next k
Integral = h * Suma
End Function
5
Con ello se dispone de una funcin definida por el usuario que permite aproximar una
integral. Para cambiar la funcin es preciso modificarla en fun1, dentro del mdulo. Los
lmites de integracin y el nmero de subintervalos se han introducido a travs de la hoja de
trabajo tal como se puede observar en el grfico siguiente.
De forma similar se puede automatizar el clculo numrico de ecuaciones diferenciales,
en este caso por el mtodo de Euler. Dada una ecuacin diferencial de primer orden
) , ( ' y x f y que satisface la condicin ) (
0 0
x y y , su solucin ) (x y y se puede aproximar,
en un intervalo m x x
0
, a travs del polgono cuyos vrtices ( )
k k
y x , vienen dados por:
n
x b
h siendo n k y x f h y y h x x
o
k k k k k k

+ +
+ +
... , 2 , 1 , 0 ) , ( ;
1 1
6
Creando una hoja tipo como la presentada en el grfico anterior se pueden analizar
diferentes grados de aproximacin a la solucin de la ecuacin diferencial. Bsicamente, el
mtodo consiste en construir los conjuntos de puntos (x, y) para cada aproximacin,
representando posteriormente la funcin mediante un diagrama de dispersin. Para ello se
requiere crear el mdulo siguiente, donde se recoge la expresin analtica de la ecuacin
diferencial que ser preciso modificar para cada caso concreto.
'Modificar directamente la ecuacin diferencial de la forma y'=f(x,y) siendo x=x1 e y=x2
Function fun2(x1, x2)
fun2 = -x2 / x1
End Function
V. GRFICOS AVANZADOS.
Las hojas de clculo ofrecen una gran capacidad grfica para el anlisis de problemas
econmicos: desde el sencillo grfico de lneas, barras o reas hasta la representacin de
ecuaciones paramtricas, funciones en coordenadas polares o diagramas de fase de ecuaciones
diferenciales. A modo de ejemplo, plantearemos una representacin grfica de los campos de
direccin siguiendo el esquema planteado en Sjstrand(1997).
Sean ) , ( y x f y ) , ( y x g dos funciones definidas en un dominio
2
R D y sea ) (x y la
funcin solucin de la ecuacin diferencial: 0 ) ( ' ) , ( ) , ( + x y y x g y x f que puede escribirse
como 0 ) , ( ) , ( + dy y x g dx y x f . La pendiente de esta funcin ) (x y viene dada por la
ecuacin:
) , (
) , (
) ( '
y x g
y x f
dx
dy
x y vlida en los puntos ) , ( y x donde 0 ) , ( y x g . El vector
de direccin en el punto ) , ( y x de la funcin ) (x y se define como aquel que es tangente a la
misma en dicho punto. Este vector viene definido, para 0 k , por las componentes:
)) , ( ), , ( ( ) , ( y x f k y x g k dy dx . El campo de direccin de la anterior ecuacin
diferencial se define como el conjunto de vectores de direccin en todos los puntos ) , ( y x del
dominio. Para crear una hoja de trabajo que permita su representacin se sabe que el segmento
que une los puntos A y B representa el vector de direccin con longitud 'a' en el punto ) , (
k i
y x
para i=0, 2, ... m; k=0, 2, ... n. El punto medio de dicho segmento es el punto ) , (
k i
y x .

,
_

+
+
+

,
_

+
+
) , ( ) , ( 2
) , (
,
) , ( ) , ( 2
) , (
) , ( ) , ( 2
) , (
,
) , ( ) , ( 2
) , (
2 2 2 2
2 2 2 2
k i k i
k i
i
k i k i
k i
i
k i k i
k i
i
k i k i
k i
i
y x f y x g
y x f
a y
y x f y x g
y x g
a x B
y x f y x g
y x f
a y
y x f y x g
y x g
a x A
7
Para construir estos segmentos se crean grupos de cuatro celdas con frmulas como:
D4=D$3+0,5*a*g_4(D$3;$C4)/RAIZ(f_4(D$3;$C4)^2+g_4(D$3;$C4)^2)
D5=D$3-0,5*a*g_4(D$3;$C5)/RAIZ(f_4(D$3;$C5)^2+g_4(D$3;$C5)^2)
E4=$C4-0,5*a*f_4(E$3;$C4)/RAIZ(f_4(E$3;$C4)^2+g_4(E$3;$C4)^2)
E5=$C5+0,5*a*f_4(E$3;$C5)/RAIZ(f_4(E$3;$C5)^2+g_4(E$3;$C5)^2)
y se representan como un diagrama de dispersin en el intervalo deseado tal como se refleja en
el grfico siguiente.
La ecuacin diferencial se introduce a travs de un mdulo siguiendo el formato
indicado inicialmente 0 2 ) 2 , 1 ( 1 ) 2 , 1 ( + dx x x g dx x x f
Function f_4(x1, x2)
f_4 = x1-x2
End Function
Function g_4(x1, x2)
g_4 = x2
End Function
VI. LGICA Y TEORA DE CONJUNTOS.
La disponibilidad de funciones lgicas permite analizar la equivalencia lgica de
diversas sentencias, si bien la ausencia de utilidades simblica impide anlisis avanzados. A
modo de ejemplo, se describe a continuacin la comprobacin de que no((no p) o q) y p y
(no q)) son lgicamente equivalentes.
8
Adems, es posible realizar operaciones sobre conjuntos numricos (interseccin, suma,
conjuntos complementarios, etc.) a travs de la opcin de filtros avanzados. Ejemplos al
respecto pueden consultarse en Sjstrand(1997).
VII. MODELOS ECONMICOS.
Las posibilidades para modelizar fenmenos econmicos y empresariales son muy
extensas y dependen en gran medida de la imaginacin del investigador. En Gully(1996) se
analizan algunas aplicaciones a la teora econmica, y especialmente significativas son las
aplicaciones a modelos de investigacin operativa: programacin, teora de colas, simulacin,
teora de la decisin , programacin de proyectos, etc. Con el objeto de ilustrar las posibilidades
en estos campos analizaremos la implementacin de un modelo de PERT simplificado.
En el grfico siguiente se presentan los datos bsicos referidos a las actividades del
proyecto. La columna Tiempo recoge las duraciones de cada una de las actividades.
9
La columna early recoge los menores tiempos de inicio posibles. Estas celdas se
consideran como celdas cambiantes e inicialmente toman valores cualesquiera. La celda D10
recoge la suma de tiempos early. Las columnas F y G establecen la ordenacin temporal de
las actividades, cuando existe algn condicionamiento entre ellas. En la columna H se
introducen los tiempos actuales entre comienzos de actividades a travs de la frmula - referida
a la celda H3 -:
=BUSCARV(G3;$B$3:$D$9;3)-BUSCARV(F3;$B$3:$D$9;3)
De forma similar, la columna I recoge los tiempos entre comienzos de actividades que como
mnimo deben cumplirse, que vienen dados por las duraciones de las tareas. Se calculan a
travs de la frmula - referida a la celda I3 -:
=BUSCARV(F3;$B$3:$C$9;2)
Con el objeto de calcular los tiempos early se optimiza la hoja a travs del Solver tal y como
se presenta en el grfico siguiente. El objetivo es minimizar la suma de tiempos de inicio,
cambiando las celdas que recogen dichos tiempos de inicio, y sujeto a las restricciones que
establecen que los tiempos entre actividades debe ser iguales o superiores a los mnimos.
10
De forma similar se plantea una hoja de trabajo para los tiempos last y se optimiza
con el mismo esquema que los tiempos early aadiendo una restriccin en la que se indica
que la ltima tarea -G- se inicia en el mismo momento que el previsto en los tiempos early
(D9=21). En el grfico siguiente se presenta una hoja donde se resumen todos los aspectos de
las dos hojas de trabajo anteriores, indicando las actividades crticas (se detectan analizando si
la holgura entre los tiempos early de finalizacin -EFT- y los tiempos last de finalizacin -LFT-
es nula). Adems, se representa grficamente la sucesin de tareas mediante un diagrama de
barras combinada de los tiempos y los tiempos early de comienzo cambiando el orden de las
series y ocultando la primera de ellas.
REFERENCIAS BIBLIOGRFICAS
GULLY, A.(1997): Modelling Economic Systems. A spreadsheet-based approach. International
Thomson Business Press. London.
MEDINA, A.(1992): Manual de Excel 4.0. Anaya Multimedia. Madrid.
SJSTRAND, D.(1997): Matemticas con Excel. Universidad Pontificia de Comillas. Madrid.

You might also like