TRABAJO FINAL PROCESOS ESTOCÁSTICOS “Modelación matemática como bese de la autonomía científica de la contabilidad” Carolina Isabel Rojas Cod. 34319010 Claudia Maria Ochoa Cod. 24414697 Ing. Wilson Arenas UNIVERSIDAD TECNOLÓGICA DE PEREIRA Facultad de Ingeniería Industrial Pereira, Diciembre 2003 OBJETIVO DEL CASO El objetivo del caso estará centrado en el desarrollo práctico de la resolución del modelo de las cadenas de Markov, aplicado a la contabilidad de costos con la finalidad de simplificar el proceso de partida doble, generalmente llevado en libros contables o en complejos sistemas de software utilizando como herramienta principal las matemáticas, mas específicamente el álgebra matricial. DESCRIPCIÓN DEL CASO En Contabilidad, como se puede verificar con facilidad, no ha habido mayor avance en lo que respecta a construcción de modelos matemáticos. La ecuación Patrimonio = Activo - Pasivo (y sus forzadas sofisticaciones), no es, ni con mucho, el modelo matemático que se precisa para desencadenar el proceso de la matematización de la contabilidad. Un modelo es la representación de una porción de la realidad en sus elementos más pertinentes para la solución del problema o situación que afrontamos. Por consiguiente, llamaremos modelo matemático contable a la representación en lenguaje matemático de un problema propio de la Contabilidad, cuya solución se busca a través de la aplicación de las cadenas de markov. Se pretende por medio de este trabajo dar una explicación sucinta de las propiedades de las matrices (en su concepción matemática) y señalar puntualmente las ventajas de su aplicación en la representación de las mediciones contables. Una matriz no es más que un conjunto ordenado de números, dispuestos en m filas y n columnas. En sentido matemático estricto, una matriz podría no representar nada en particular (aparte de la idea de matriz en sí misma); sin embargo, cuando es aplicada a la representación de mediciones contables representa al menos una posición (un estado) del hecho o problema contable que está siendo abordado. Se llamará "débitos" a las filas y "créditos" a las columnas, se puede fácilmente constatar que una matriz puede representar cómodamente un conjunto de transacciones contables mediante la inscripción, en la intersección de fila y columna (i.e. débito y crédito) del valor asignado a cada transacción. Es de advertir que, a diferencia de lo que exige el algoritmo de la partida doble tradicional, el uso de las matrices en la teneduría de libros no requiere sino una sola anotación. La presentación matricial de las expresiones contables facilitan su tratamiento por computador, lo cual a su vez permite el manejo de de matrices de casi cualquier orden (número de filas-columnas). Comparando frente a frente el cálculo matricial y los métodos clásicos de la Contabilidad de Costos, se pueden resumir las ventajas del primero como sigue: 1. Habilita una representación concisa y uniforme de diversos problemas contables y su solución con la ayuda de métodos matemáticos bien desarrollados. Así, por ejemplo, los problemas de Contabilidad de Costos, el control de la rentabilidad por medio de las varianzas y la programación lineal pueden ser muy sencillamente representadas por medio de matrices. 2. En muchos casos, permite la ejecución anticipada de la mayoría de los cálculos y almacenar los resultados en una matriz. 3. Tomando en consideración las relaciones e interrelaciones causales de la firma, ofrece una herramienta efectiva para la pronosticación a corto y largo plazos. 4. Provee, para un amplio rango de problemas, procedimientos simples y uniformes de cálculo para los cuales existen programas de computadoras ya preparados a gran escala. A continuación se presentan dos problemas cuyo planteamiento y resolución dan una idea clara de la factibilidad y beneficios que tiene la aplicación de procedimientos matemáticos (en este caso, el Álgebra de Matrices) a problemas contables específicos. Se examinará como el computador opera con conceptos tales como partida doble, débitos y créditos, asientos de ajuste, transacciones compuestas y otros similares. La relevancia del tema proviene del hecho que, en muchas instalaciones de computación, la teneduría de libros es hecha usando métodos matriciales. DATOS DE ENTRADA Estos son los datos históricos contables que tiene la empresa, que posteriormente se transformaran en pronósticos, a través del modelo que se genere. a) La matriz del mayor general Como un marco de referencia para la ilustración de las técnicas de la teneduría de libros matricial, se usará el hipotético "Emporio de Descuento Anderson" (EDA). El plan de cuentas para EDA, de propiedad unipersonal, es uno simple, como sigue: Cuenta 0 Caja Cuenta 1 Inventario Cuenta 2 Activo Fijo Cuenta 3 Depreciación Acumulada Cuenta 4 Cuentas Por Pagar Cuenta 5 Capital Propietario Cuenta 6 Cuenta de Resultado del Propietario Cuenta 7 Ventas Cuenta 8 Costos de la Mercadería Vendida Cuenta 9 Otros Gastos Ningún negocio real usaría actualmente este breve plan de cuentas, pero el interés de este planteamiento estará centrado mas en la claridad de la ilustración que en el realismo. Aunque EDA es una pequeña empresa con necesidades contables muy simples, el propietario, Bob Anderson, ha decidido emplear un "service" para hacer toda la Contabilidad y la Teneduría de los Libros de la tienda. El "service" usará métodos matriciales para hacer la teneduría de libros. El primer paso a este respecto es construir una matriz "Plan de Cuentas", como se ilustra a continuación: SUPUESTOS Y PRUEBAS ESTADÍSTICAS b) Análisis de transacciones El próximo paso es especificar un procedimiento para ingresar los datos de transacciones dentro de este Mayor. Ya que todos los asientos están compuestos de débitos y créditos, y la matriz está compuesta de filas y columnas, se adoptara la conveniente convención de manera que los débitos corresponden a las filas y los créditos a las columnas. No existirá ya la necesidad de escribir las cosas dos veces para preservar la convención de la Partida Doble ya que cada elemento en la matriz Mayor tiene ya una doble designación: a saber, su localización fila y su localización columna. Así si el Sr. Anderson vende un traje por $ 50 al contado, no es necesario anotar un débito por $ 50 a Caja y un crédito por $ 50 en la cuenta de ventas; en lugar de ello sólo necesitaremos ingresar $ 50 en la celda (0,7) ya que esta celda es la que representa un débito a Caja (Cuenta 0) y un crédito a Ventas (Cuenta 7). Ya que la matriz Mayor no existe en ninguna otra manera que no sea la memoria del computador, una más correcta declaración acerca de cómo esta transacción es asentada es decir que se ordena al computador que sume $ 50 al total almacenado en la posición (0,7). Como este trabajo no trata de programación de computadores, no se detallará más acerca de cómo una orden tal del computador podría ser actualmente descrita, sin embargo, la ilustración podría aparecer de cualquier forma como sigue: I07=I07+50 Este es un uso especializado del signo "igual" y por supuesto no significa que el primer miembro de la ecuación es igual al segundo miembro. Lo que representa es un comando al computador para tomar lo que aparece al lado derecho del signo igual y ponerlo a la situación indicada en el lado izquierdo del signo. Esta instrucción de este modo dice al computador que ponga la suma de lo que está en l07 más 50 en la posición l07. El resultado es claramente la suma de 50 más l07, que es lo que se pretende. Para fortalecer la comprensión de esta técnica para el registro de transacciones, se consideraran los siguientes tres ejemplos adicionales: 1. El Sr. Anderson compra $ 3,000 precio de la Mercadería a crédito. Asiento de Mayor Tradicional: Db. Inventario (Cuenta 1) 3,000 Cr. Cuentas por Pagar (Cuenta 4) 3,000 Asiento en la matriz Mayor: l14 = l14 + 3,000 2. El Sr. Anderson paga una factura que suma $ 100 anuncios de periódicos de la semana corriente. Asiento de Mayor Tradicional: Db. Otros Gastos (Cuenta 9) 100 Cr. Caja (Cuenta 0) 100 Asiento en la matriz Mayor: l90 = l90 + 100 3. El gasto por depreciación del mes es $ 200 Asiento de Mayor Tradicional: Db. Otros Gastos (Cuenta 9) 200 Cr. Depreciación acumulada (Cuenta 3) 200 Asiento en la matriz Mayor: l93 = l93 + 200 c) Transacciones Compuestas El procedimiento arriba mencionado corresponde a transacciones "simples" en las cuales una cuenta es debitada y una cuenta es acreditada por el mismo monto. Con el fin de procesar transacciones compuestas en las que los montos individuales de débito y crédito no son iguales, necesitaremos adoptar cierta clase de convención simplificadora. Por ejemplo, se registraría el asiento si el Sr. Anderson compra $ 1,000 precio de mercadería, $ 100 precio de muestras de material para ser gastadas de un mismo proveedor a crédito. En un Mayor manual o mecanizado el asiento sería: Db. Inventario (Cuenta 1) 1,000 Db. Otros Gastos (Cuenta 9) 100 Cr. Cuentas por Pagar (Cuenta 4) 1,100 En la matriz Mayor, sin embargo, no se puede usar el procedimiento delineado más arriba ya que los débitos individuales no igualan el monto del crédito. Lo que se debe hacer es separar el asiento en dos partes que contengan montos de débito y crédito igualados. Este proceso de segmentación es puramente arbitrario y no es realmente importante cómo un asiento es separado, ya que las partes suman el asiento compuesto apropiado. En el ejemplo, parece más lógico segmentar el asiento como sigue: l14 = l14 + 1,000 l94 = l94 + 100 Muchas veces, sin embargo, no hay otra manera tan obvia de segmentar el asiento. Por ejemplo, la situación en la que el exhibidor que originalmente costó $ 100 con un valor residual en libros de $ 50 es vendido por $ 65 al contado. El asiento compuesto es: Db. Caja (Cuenta 0) 65 Db. Deprec. Acumulada (Cuenta 3) 50 Cr. Activo Fijo (Cuenta 2) 100 Cr. Resultado Propietario (Cuenta 6) 15 En este caso, no hay una manera única de segmentar el asienta. Un procedimiento que funciona es el siguiente: l02 = l02 + 65 l32 = l32 + 35 l36 = l36 + 15 Ya que la selección es arbitraria, se podría haber optado por registrar el asiento de esta manera: l02 = l02 + 50 l06 = l06 + 15 l32 = l32 + 50 Uno u otro modo dan como resultado débitos totales a Caja (Cuenta 0) por $ 65 y a Depreciación Acumulada (Cuenta 3) por $ 50 y créditos totales a Activo Fijo (Cuenta 2) por $ 100 y a Cuenta Resultado del Propietario (Cuenta 6) por $ 15. De este modo, cualquier procedimiento es aceptable. Siempre que se tenga cuidado de preservar los totales correctos, un asiento compuesto puede ser segmentado en asientos simples en cualquier modo que se elija. d) La operación del Balance de Comprobación Luego que los datos de las transacciones por un período han sido completamente asentados en la Matriz Mayor, el próximo paso es sumarizar éstos en la forma de un Balance de Comprobación no ajustado. Con este fin, se creara una Matriz Balance de 1 x n (o vector fila) T, en la que n se refiere al número de elementos en el Plan de Cuentas. Para el ejemplo, EDA, n es igual a 10. Se establecerá también la convención de que los débitos son más y los créditos menos, de tal modo que cuando existan elementos en el vector T Balance de Comprobación, se puede distinguir los saldos deudores y acreedores. Ya que los asientos en la i-ésima fila de la Matriz Mayor representan todos los débitos a la Cuenta número i y los asientos en la i-ésima columna representan todos los créditos a esta columna, el impacto neto de las transacciones durante un período sobre la cuenta número i puede ser computado mediante la sustracción de la suma de la columna i-ésima de la suma de la fila i-ésima. El efecto neto es un débito si la diferencia es positiva, y un crédito si es negativa. De esta manera, se puede computar un Balance de Comprobación no ajustado en cualquier punto del tiempo solamente por la actualización de los Balances del período anterior por su impacto neto de las transacciones del período. Asumiendo que los asientos t1 inicialmente reflejan los balances del período anterior a cada cuenta, se puede realizar un Balance de Comprobación del período corriente mediante la siguiente instrucción de computador generalizada: Para cada cuenta i: t1 = t1 + lik - lki Recordando la notación sumatoria fila y columna presentada en líneas precedentes, se puede escribir la instrucción como sigue: Para i = 1,2, ..., 10 ti = ti + lin - lni Para verificar que T está balanceada, se puede verificar la relación: ti = 0 ya que los débitos son (+) y los créditos son (-) y el total de los débitos debería ser igual al total de créditos, la suma de todos los asientos del vector T debería ser cero. Si T estuvo balanceada al comienzo del período los procedimientos descritos más arriba no deberían alterar la condición de balanceamiento. En términos resumidos, se ha adicionado a la suma de cada fila de L a T y restando de ésta la suma de cada columna de L. La suma de los totales de las filas en L debe ser el mismo que la suma de los totales de todas las columnas ya que el total de débitos es igual al total de los créditos. Así el valor agregado de T debe permanecer siendo siempre cero. e) Procedimientos de ajuste y cierre Una vez que los datos de las transacciones mensuales han sido transferidos desde la Matriz Mayor a un vector Balance de Comprobación no ajustado, la matriz misma debe ser puesta a cero de manera que esté lista para recibir el nuevo lote de información de transacciones. Esto puede realizarse de la siguiente manera con instrucciones de computador generalizadas: lij = 0, i = 1,2, ..., 10 j = 1,2, ..., 10 En este punto, todos los asientos de ajuste que son necesarios pueden ser registrados en la Matriz Mayor. Una vez que éstos han sido registrados en el Mayor, un Balance de Comprobación ajustado puede ser generado mediante la simple repetición de las operaciones de Balance de Comprobación descritas en la sección precedente. Similarmente, se puede preparar un Balance de Comprobación cerrado mediante la puesta en cero nuevamente de la Matriz Mayor registrando entradas de cierre a ésta y luego repitiendo las operaciones de Balanceo de Comprobación. Una vez que esto ha sido hecho, la Matriz Mayor deberá nuevamente ser puesta a cero de tal forma que quede lista para recibir los datos de transacciones básicas para el siguiente período. Revisemos ahora este proceso desde el inicio hasta el final. Asumiendo que T inicialmente contiene el Balance cerrado del período anterior y L inicialmente es una matriz cero: 1. Registrar los datos de todas las transacciones básicas en la Matriz Mayor. 2. Preparar un Balance de Comprobación no ajustado mediante la actualización de T. Haga que el computador imprima T para tener un registro tangible de este estado de ciclo. 3. Poner en cero la Matriz Mayor. 4. Registrar los asientos de ajuste en la Matriz Mayor. 5. Preparar un Balance de Comprobación ajustado actualizando T nuevamente. Imprimir otra vez T. 6. Volver a poner en cero la Matriz Mayor. 7. Registrar los asientos de cierre en la Matriz Mayor. 8. Preparar un Balance de Comprobación cerrado actualizando T por tercera y última vez. Imprimir T nuevamente. 9. Poner a cero la Matriz Mayor por tercera y última vez preparándola para el nuevo ciclo que empezará el próximo período. ESTIMACIÓN DE LA PROVISIÓN PARA CUENTAS DE COBRANZA DUDOSA MEDIANTE CADENAS DE MARKOV. El proceso de Markov se define como "una manera de analizar el movimiento actual de alguna variable en un esfuerzo por predecir o pronosticar el movimiento futuro de la misma" (THIERAUF 1982: 370). En otras palabras, un proceso de Markov constituye "un modelo probabilístico para la predicción del comportamiento futuro de un sistema. Con este modelo es posible predecir aproximadamente cuál será el comportamiento de un sistema bajo estudio en un período futuro, en base al conocimiento previo de su comportamiento en un período pasado. Además, nos permite calcular el nivel al cual tiende el sistema (en caso de que existiera un nivel de equilibrio), la trayectoria que va siguiendo a través del tiempo y la velocidad con que se acerca a ese estado de equilibrio. "(...) Al utilizar el modelo denominado 'Cadenas de Markov' en un problema concreto, se supone que es factible analizar un sistema con respecto a alguna variable importante (o conjunto de ellas), determinando el valor de la(s) misma(s) mediante observaciones periódicas que se obtienen a intervalos fijos de tiempo. Los resultados de esas observaciones cuantitativas o más generalmente una función de ellas, se llaman estados del sistema. Si comenzamos el estudio del proceso en algún estado particular y además podemos determinar las probabilidades de pasar de ese estado a cualquier otro (llamadas probabilidades de transición), se pueden estudiar las diversas trayectorias alternativas y calcular las probabilidades que corresponden a cualquier secuencia de transiciones en un período dado de tiempo. "(...) ...los supuestos básicos que se aceptan en este tipo de análisis son los siguientes: i) En los sistemas sociales es posible determinar un número finito de estados posibles; ii) la probabilidad de que el sistema se encuentre en un estado determinado depende únicamente del estado inmediato precedente; iii) las probabilidades de transición de un estado a los demás se mantienen fijas a través del tiempo". ( KLEIMAN 1973: 275-6) RESULTADOS - CASO PRÁCTICO: Supongamos que queremos determinar cuál será el comportamiento de las Cuentas por Cobrar en un período de tiempo determinado (el mes de Julio, por ejemplo); esto es, queremos saber qué parte de nuestros saldos en Cuentas por Cobrar van a ser efectivamente pagados y qué parte de ellos resultará incobrable. Hagamos de cuenta que hemos efectuado un análisis y una clasificación por vencimiento de los saldos de Cuentas por Cobrar y que, gracias a ello, somos capaces de establecer la ruta que van siguiendo éstos a través del tiempo. Es decir, cómo van pasando de "Un Mes Vencido" a "Dos Meses Vencidos", de "Dos Meses Vencidos" a "Tres Meses Vencidos", o a "Pagado" o a "Incobrable", o cualquier otro camino; pudiendo por tanto asignar la probabilidad de pasar de cada uno de estos estados "de paso" (o "transitorios") hacia uno de los dos estados "definitivos" (o "absorbentes"). Esto es lo que la teoría llama las probabilidades de transición de los estados transitorios a los estados estables. Asimismo, como podemos comprobar en la práctica, en nuestro caso tenemos los estados estables de "Pagado" e "Incobrable". Haciendo abstracción del improbable (aunque posible) caso de que una cuenta declarada "Incobrable" se pueda luego cobrar, no hay más que estos dos estados. De otro lado, y ya que se trata de un proceso estocástico, se supone que -al cabo de infinitos intentos- las probabilidades de transición de los saldos de Cuentas por Cobrar se mantendrán fijas en el tiempo y, por lo tanto, es válido el uso del modelo para efectos de predicción del funcionamiento de las Cuentas por Cobrar. Y esto es lo que vamos a demostrar. La matriz de una Cadena de Markov, cuya resolución está dada por la ecuación P = N* R , puede dividirse en cuatro matrices, de la manera siguiente: P I R Q en la cual: I es una matriz identidad O es una matriz en la que todos sus elementos son cero. R es una matriz que contiene las probabilidades de ir directamente de cada estado transitorio a cada estado absorbente. Q es una matriz de las probabilidades de transición para los estados transitorios. La resolución de este modelo, está dada por la ecuación P = N * R, en donde N = I Q 1 y en la que P denota la probabilidad de comenzar en uno u otro estado transitorio y finalizar en uno u otro estado absorbente. La matriz, I Q 1 recibe el nombre de matriz fundamental de una Cadena absorbente de Markov y es llamada frecuentemente matriz N. Sea, pues, la matriz de nuestra Cadena Absorbente de Markov, como sigue: P I C 1 En ella suponemos que hay dos estados transitorios (saldo "Corriente" y "Un Mes Vencido") y que los saldos "Dos Meses Vencidos" son declarados incobrables y, por lo tanto, hay también dos estados estables o absorbentes ("Pagado" e "Incobrable"). De esta manera: 0.3 0 R 0.5 0.1 0.5 0.2 Q 0.3 0.1 Como vimos anteriormente, la matriz R indica que la probabilidad de ir directamente desde el estado transitorio "Saldo Corriente" al estado "Pagado" es de 30%, y la probabilidad de que los saldos en la categoría de "Un Mes Vencido" pasen directamente a la categoría de "Pagado" es de 50%, mientras que el paso directo del estado "Un Mes Vencido" a "Incobrable" es de 10%. De manera análoga a lo indicado anteriormente, la matriz Q representa las probabilidades que tienen los saldos de las Cuentas por Cobrar de pasar de un estado transitorio ("Corriente" y "Un Mes Vencido") a otro. Para obtener la matriz fundamental debemos efectuar I Q 1 , o sea calcular la inversa de la matriz (I-Q), lo cual resulta: N = (I-Q) —1 = = y luego obtener el producto P = N * R, como sigue: P = N*R = = Esta matriz indica que empezando en el estado "Corriente", la probabilidad de terminar en el estado "Pagado" es de 95%, mientras que la probabilidad de terminar en el estado "Incobrable" es de 5%. Asimismo, la probabilidad de terminar en el estado "Pagado", empezando en el estado "Un Mes Vencido" es de 87% y la probabilidad de llegar a ser "Incobrable", partiendo de la categoría "Un Mes Vencido" es de 13%. Ahora bien, supongamos que en un momento i el vector Bi de n componentes, sea denotado por: Bi = Bi0, Bi1, ..., Bi,n-1) y represente los pesos en cada categoría de vencimiento, el producto de B * P, resultará: (70 30) =(92.6 7.4) Este vector indicará, entonces, cuánto del saldo de las Cuentas por Cobrar en un determinado momento i terminará finalmente como "Pagado" ($ 92.60) y qué tanto terminará como "Incobrable" ($ 7.40), facilitando de esta manera el establecimiento de la Provisión para Cuentas de Cobranza Dudosa. Es claro que en este caso también el Álgebra de Matrices prueba ser un modelo altamente potente, confiable y efectivo para la resolución de problemas contables. CONCLUSIONES DEL CASO Hasta la fecha, la Contabilidad no ha logrado expresar en términos matemáticos todo el conjunto de procedimientos y leyes que gobiernan su práctica concreta. Esto ha dificultado en gran medida los avances en lo que respecta al desarrollo de una Teoría General de la Contabilidad. Desde hace muchos años, los Contadores Públicos se han visto más inclinados a dedicarse a los aspectos legalistas de su profesión, que a su formación (o complementación académica) en métodos analíticos cuantitativos. Pocos son los Contadores Públicos que conocen y aplican en sus labores de práctica profesional o de investigación, dichos métodos. Esto ha derivado dos consecuencias graves: 1) Un desfase científico de la Contabilidad respecto a otras disciplinas. 2) El progresivo y desdeñoso constreñimiento de la práctica profesional del Contador Público a la mera tarea de "llevar los libros", con la consiguiente "invasión" de su campo de acción profesional por parte de profesionales de otras especialidades. El desarrollo de modelos matemáticos ofrece enormes posibilidades de avance científico para la Contabilidad. Así ha sucedido en la Física, la Economía, la Biología, etc. Expresar las variables contables en términos matemáticos es una exigencia insoslayable, de hoy en adelante. Por su facilidad y versatilidad en la representación de problemas contables, el Álgebra de Matrices es un modelo matemático que se puede usar con gran beneficio en Contabilidad y, tomándola como base, se puede profundizar en la elaboración de los auténticos principios de esta nueva ciencia que está naciendo. En la Teneduría de Libros y en la Estimación de la Provisión para Cuentas de Cobranza Dudosa, se pueden aplicar con solvencia profesional las propiedades matemáticas del Álgebra de Matrices. TEMAS ADICIONALES A ESTUDIAR Técnicas de Presupuestación y Contabilidad por Áreas de Responsabilidad. Prorrateo de Costos Indirectos usando el cálculo matricial. Costos Estándar. Análisis Combinatorio. Muestreo Estadístico. Líneas de Espera. Programación Lineal. Análisis Insumo-Producto. Programación Dinámica. Álgebra de matrices. CONCLUSIONES DEL TRABAJO A través de la investigación que precedió este trabajo, visualizamos la importancia real de las cadenas de markov como herramienta de predicción en el análisis contable, entre otras tantas aplicaciones que se pueden llevar a cabo en las empresas. Teniendo en cuenta que como ingenieras industriales, nuestra formación en distintas áreas de la empresa, nos brinda una gran oportunidad para enfocar los conocimientos adquiridos, en la resolución de diferentes situaciones que se presenten en una empresa, a través de la aplicación de las cadenas de markov. La aplicación de las cadenas de markov a los procedimientos contables, ofrece mayor agilidad y precisión en la recolección y entrega de resultados, evitando procedimientos dispendiosos. El Internet como fuente de información, es una herramienta de trabajo muy valiosa, por que nos permite acceder a una gran cantidad de información sin limitantes de distancia, tiempo e idiomáticas. BIBLIOGRAFÍA Y SITIOS WEB WWW.ALFINAL.COM KLEIMAN, Ariel y KLEIMAN, Elena K. De 1973 Matrices. Aplicaciones matemáticas en Economía y Administración. México, Editorial Limusa. THIERAUF, Robert J. 1982 Introducción a la Investigación de Operaciones México, Editorial Limusa