You are on page 1of 164

1. INTRODUCCION.............................................................................................................. 2 1.1 Qu es la Investigacin de Operaciones.......................................................................... 3 1.2 I.O como apoyo a la toma de decisiones......................................................................... 5 1.3 Problemas tipo en Investigacin Operativa.....................................................................

7 2. OPTIMIZACIN ............................................................................................................... 9 2.1 Introduccin .................................................................................................................... 9 2.2 Convexidad ................................................................................................................... 13 2.3 Optimos Locales y Globales ......................................................................................... 16 2.4 Condiciones de KuhnTucker....................................................................................... 18 2.5 Relajaciones .................................................................................................................. 20 2.6 Dualidad ........................................................................................................................ 30 2.7 Programacion Lineal ................................................................................................... 34 3. GRAFOS ........................................................................................................................... 55 3.1 Introduccin .................................................................................................................. 55 3.2 Definiciones Basicas ..................................................................................................... 57 3.3 Conexidad. Clausura Transitiva. ................................................................................... 65 3.4 Multiplicacin Latina - Camino Hamiltoniano ............................................................. 72 4. ESQUELETOS Y CAMINOS OPTIMALES ................................................................ 73 4.1 Medida de conexin de grafos ...................................................................................... 73 4.2 Esqueletos optimales.................................................................................................... 75 4.3 Caminos optimales Camino mnimo .......................................................................... 77 5. REDES FLUJOS ........................................................................................................... 79 5.1 Corte mnimo flujo mximo....................................................................................... 80 5.2 Bases Para la Construccin de un Flujo Mximo.......................................................... 84 5.3 Algoritmo de Flujo Mximo ......................................................................................... 87 6. INTRODUCCIN A LOS PROBLEMAS DE ORDENAMIENTOS ......................... 89 6.1 Conceptos Generales..................................................................................................... 90 6.2 Modelado de los problemas de ordenamientos ............................................................. 92 6.3 Mtodos de Camino Crtico .......................................................................................... 94 7. PROCESOS ESTOCSTICOS...................................................................................... 101 7.1 Introduccin ................................................................................................................ 101 7.2 Procesos Estocsticos.................................................................................................. 108 7.3 Cadenas de Markov..................................................................................................... 111 7.4 Cadenas de Markov de Tiempo Contnuo................................................................... 125 7.5 Procesos de Poisson .................................................................................................... 129 7.6 Procesos de Nacimiento y Muerte............................................................................... 131 7.7 Sistemas de Colas........................................................................................................ 132 7.8 Propiedad PASTA....................................................................................................... 145 8. SIMULACIN................................................................................................................. 146 8.1 Introduccin ................................................................................................................ 146 8.2 Modelos....................................................................................................................... 147 8.3 Simulacin de sistemas ............................................................................................... 148 8.4 Etapas en el proceso de Simulacin de Sistemas ........................................................ 149 8.5 Clasificacin de tipos de simulacin........................................................................... 151 8.6 Generacin de nmeros aleatorios .............................................................................. 153 8.7 Generacin de variables aleatorias.............................................................................. 158 8.8 Mtodo Montecarlo..................................................................................................... 161

Introduccin a la Investigacin de Operaciones

1. INTRODUCCION
El objetivo del curso es que el estudiante aprenda a reconocer los problemas tipo de la Investigacin de Operaciones de modo que sepa a qu tcnico recurrir en cada caso, para un adecuado estudio y solucin del mismo. Como su nombre lo indica, la Investigacin de Operaciones (IO), o Investigacin Operativa, es la investigacin de las operaciones a realizar para el logro ptimo de los objetivos de un sistema o la mejora del mismo. Esta disciplina brinda y utiliza la metodologa cientfica en la bsqueda de soluciones ptimas, como apoyo en los procesos de decisin, en cuanto a lo que se refiere a la toma de decisiones ptimas y en sistemas que se originan en la vida real.

Antecedentes histricos
El trmino IO se utiliza por primera vez en el ao 1939 durante la 2da Guerra Mundial, especficamente cuando surge la necesidad de investigar las operaciones tcticas y estratgicas de la defensa area, ante la incorporacin de un nuevo radar, en oportunidad de los ataques alemanes a Gran Bretaa. El avance acelerado de la tecnologa militar hace que los ejecutivos y administradores militares britnicos deban recurrir a los cientficos, en pos de apoyo y orientacin en la planificacin de su defensa. El xito de un pequeo grupo de cientficos que trabajaron en conjunto con el ejecutivo militar a cargo de las operaciones en la lnea, deriv en una mayor demanda de sus servicios y la extensin del uso de la metodologa a USA, Canad y Francia entre otros. Sin embargo, el origen de la Investigacin Operativa puede considerarse como anterior a la Revolucin Industrial, aunque fue durante este perodo que comienzan a originarse los problemas tipo que la Investigacin Operativa trata de resolver. A partir de la Revolucin Industrial y a travs de los aos se origina una segmentacin funcional y geogrfica de la administracin, lo que da origen a la funcin ejecutiva o de integracin de la administracin para servir a los intereses del sistema como un todo. La Investigacin Operativa tarda en desarrollarse en el campo de la administracin industrial. El uso de la metodologa cientfica en la industria se incorpora al principiar los aos 50, a partir de la 2da Revolucin Industrial, propiciada por los avances de las Comunicaciones, y la Computacin, que sientan las bases para la automatizacin, y por sobre todo por el florecimiento y bienestar econmico de ese perodo. Los primeros desarrollos de esta disciplina (IO) se refirieron a problemas de ordenamiento de tareas, reparto de cargas de trabajo, planificacin y asignacin de recursos en el mbito militar en sus inicios, diversificndose luego, y extendindose finalmente a organizaciones industriales, acadmicas y gubernamentales. Algunas fechas, nombres y temas 1759 1874 1873 1896 1903 189~ 192~ 191~ 1920-30 1937 1939 Quesnay (ecnomo) - Programacin Matemtica Walras Jordan - Precursor de modelos lineales Minkowsky - Precursor de modelos lineales Farkas - Precursor de modelos lineales Markov - Precursor modelos dinmicos probabilsticos - Primer desarrollo de modelos de inventarios Erlang - Primeros estudios de lneas de espera Koning y Egervary - Mtodos de asignacin (analticos) von Neuman - Teora de juegos y de preferencias Kantorovich - Problemas de distribucin 2

Introduccin a la Investigacin de Operaciones 2da guerra - Logstica estratgica para vencer al enemigo Finales 2da guerra - Logstica de distribucin de recursos de los aliados (Rand Corporation- Fuerza area norteamericana). Dantzig, George - Mtodo simplex en base al trabajo de precursores, inicio a la Programacin Lineal. - Bellman - Programacin dinmica. - Kuhn y Tucker - Programacin No Lineal. - Gomory - Programacin Entera. - Ford y Fulkerson - Redes de optimizacin. - Markowitz - Simulacin. - Arrow, Karloin, Scarf, Whitin - Inventarios. - Rafia - Anlisis de Decisiones. - Howard - Procesos Markovianos de Decisin. - Churchman, Ackoff, Arnoff - Orientacin a sistemas, generalizacin de la Investigacin Operativa. 1970 y parte - Receso en el uso de la Investigacin de Operaciones dcada 80 1985 en Reflorecimiento de la disciplina con el devenir del control automtico delante industrial, las microcomputadoras y las nuevas interfaces grficas que impulsan el desarrollo de los Sistemas Automatizados de Apoyo a la Toma de Decisiones, donde la Investigacin Operativa juega un papel preponderante. Actualmente IO se aplica al sector privado y pblico, a la industria, los sistemas de comercializacin, financieros, de transportes, de salud etc., en los pases desarrollados, en vas de y en los del tercer mundo. Existen varias asociaciones en todo el mund, que agrupan a personas (estudiantes, cientficos y profesionales) interesados por el estudio y aplicacin de la Investigacin Operativa. La mas grande de todas es INFORMS, de Estados Unidos de Norteamrica asociacin que nace de la unin de la ORSA = Operation Research Society of America, con 8 000 miembros y la TIMS = Institute of Managment Science con 6 000 miembros. Tambin existen Asociaciones Canadienses, Europeas, Latinoamericanas y Asiticas federadas en la IFORS, International Federation of Operation Research Societies. La Asociacin Latinoamericana de Investigacin de Operaciones, ALIO, conglomera a la mayor parte de las Asociaciones de America Central y Sur. Se publican decenas de revistas diferentes en todo el mundo. Existen programas de Posgrado (maestra y doctorado) en la especialidad, en Amrica y Europa.

1945 1947 1950-60

1.1 Qu es la Investigacin de Operaciones


En esta disciplina se destacan las siguientes caractersticas esenciales: una fuerte orientacin a Teora de Sistemas, la participacin de equipos interdisciplinarios, la aplicacin del mtodo cientfico en apoyo a la toma de decisiones.

En base a estas propiedades, una posible definicin es: la Investigacin Operativa es la aplicacin del mtodo cientfico por equipos interdisciplinarios a problemas que comprenden el control y gestin de sistemas organizados (hombre- mquina); con el objetivo de encontrar soluciones que sirvan mejor a los propsitos del sistema (u organizacin) como un todo, enmarcados en procesos de toma de decisiones.

Introduccin a la Investigacin de Operaciones

Los pasos a seguir en la aplicacin del mtodo cientfico (coincidentes con los de la Teora General de Sistemas) son, en su expresin mas simple: 1.- Planteo y Anlisis del problema 2.- Construccin de un modelo 3.- Deduccin de la(s) solucion(es) 4.- Prueba del modelo y evaluacin de la(s) solucion(es) 5.- Ejecucin y Control de la(s) solucion(es) Otra definicin: la Investigacin Operativa es la aplicacin del mtodo cientfico a un mismo problema por diversas ciencias y tcnicas, en apoyo a la seleccin de soluciones, en lo posible ptimas. Observar que el problema es UNO SOLO, sin embargo existen maneras distintas de observar un mismo problema, dependiendo de los objetivos que se planteen para resolverlo. Ejemplo: Un proceso de decisin respecto a la poltica de inventarios en una organizacin. Existen 4 funciones administrativas que han dado lugar a departamentos cuyos objetivos son: Funcin Produccin Comercializacin Finanzas Personal Objetivo Maximizar la cantidad de bienes (servicios) producidos y minimizar el costo unitario de la produccin. Maximizar la cantidad vendida y minimizar el costo unitario de las ventas. Minimizar el capital requerido para mantener cierto nivel del negocio. Mantener la moral y la alta productividad entre los empleados.

Con respecto al INVENTARIO y segn estos OBJETIVOS: El departamento de produccin necesita producir tanto como sea posible a un costo mnimo, lo que se logra fabricando un solo producto en forma continua, pues se logra mayor eficiencia y se minimiza el tiempo perdido por cambio de equipo, al cambiar de artculo. Con este procedimiento se logra un gran inventario con una lnea de productos pequea. El departamento de mercado tambin necesita un gran inventario, pero para vender tanto como sea posible, debe surtir de la mas amplia variedad de productos. Motivos de desencuentro con el departamento de produccin. Para minimizar el capital necesario para que el negocio marche, el departamento de Finanzas debe reducir la cantidad de dinero "comprometido", lo mas directo es reducir los inventarios. Se propone que los inventarios deben aumentar o disminuir en proporcin a la fluctuacin de las ventas. En contraposicin, cuando la ventas son bajas, ni produccin ni personal requieren disminuir la produccin, ni reducir personal. Personal le interesa mantener la produccin a un nivel tan constante como sea posible, ya que el despido implica repercusiones en la moral del personal , prdida de personal calificado, nuevos costos de formacin de nuevo personal cuando as se requiera. Esto se traduce en producir hasta el nivel del inventario cuando las ventas son bajas y agotarlo cuando stas son altas. Los objetivos enumerados y definidos de esta manera son dificiles de llevar a la prctica por su inconsistencia desde el punto de vista de la organizacin y del sistema en su conjunto. Es tarea y responsabilidad del ejecutivo (gerente) determinar 4

Introduccin a la Investigacin de Operaciones una poltica de inventario que convenga a los intereses de toda la compana y no de una sola de las funciones subordinadas. La tarea de organizacin y gerenciamiento requiere que se considere al SISTEMA en su conjunto y sta es la esencia del trabajo gerencial. El ejecutivo debe decidir y para ello recurrir a algn mtodo. Le convendr recurrir a un Investigador de Operaciones, dado que supuestamente ste estar apto para utilizar la investigacin cientfica en apoyo a las decisiones que el ejecutivo deba tomar. Este apoyo se hace especialmente necesario cuando se trata de la bsqueda de soluciones ptimas a problemas que se originan en las organizaciones y servicios en general.

1.2 I.O como apoyo a la toma de decisiones


Los procesos de decisin pueden desarrollarse bajo situaciones deterministas, aleatorias, de incertidumbre, o de competencia (adversas). Estas situaciones se modelan a travs de sistemas que tambin sern de tipo deterministas, aleatorios, inciertos o basados en situaciones de competencia (adversas). Los sistemas determinsticos interpretan la realidad bajo el principio de que todo es conocido con certeza. Los sistemas basados en situaciones aleatorias, de incertidumbre o de competencia, asocian la incertidumbre a los fenmenos a analizar, incertidumbre que puede resultar de la variacin propia de los fenmenos (variaciones que eluden a nuestro control, pero que tienen un patrn especfico) o incertidumbre resultante de la propia inconsistencia de esos fenmenos. Aplicando el mtodo cientfico, el Investigador de Operaciones construir uno o mas modelos (representaciones) del sistema, con sus operaciones correspondientes y sobre l realizar su investigacin. Los modelos de IO se pueden representar con ecuaciones las que, aunque puedan resultar complejas, tienen una estructura muy sencilla: U = f (xi, yj) segn restricciones U xi yj f es la utilidad o valor de ejecucin del sistema, son las variables no controlables, o dependientes, cuyos valores dependern de las interrelaciones y valores de las variables independientes. son las variables controlables, o independientes, con valores dados. es una funcin en xi e yj.

Frecuentemente se requieren una o ms ecuaciones o inecuaciones de las llamadas restricciones, para expresar el hecho de que algunas de las variables no controlables (o todas), pueden manejarse dentro de ciertos lmites. Por ejemplo, el tiempo de mquina asignado a la produccin de un producto siempre tendr valor positivo, y no ser mayor que el tiempo total disponible o asignado para tal fin; otro ejemplo, la suma del dinero presupuestado para cada departamento en un organizacin o industria no puede exceder la suma de dinero disponible, etc. Una vez obtenido el modelo, ste puede usarse para encontrar exacta o aproximadamente los valores ptimos de las variables no controlables, aquellas que producen la mejor ejecucin del sistema, es decir, la solucin al problema.

Introduccin a la Investigacin de Operaciones EJEMPLO: Modelo de un problema agrcola. Supongamos que una empresa citrcola y el Estado pretenden hacer inversiones cuantiosas en el cultivo de naranja, limn , pomelo y mandarinas, con un doble objetivo: a) reducir el desempleo rural y b) aumentar las exportaciones para equilibrar la balanza de pagos. Segn estudios realizados, se maneja la siguiente informacin (datos inventados): Precio Costo por Horas-hombre Tipo de Produccin Area mnima promedio rbol de cuidado rbol promedio anual por rbol (m2) en kgs / rbol mundial por kg anual por rbol Naranja 150 4 $ 10 $ 2.00 36 Limn 200 5 $ 04 $ 0.50 72 Pomelo 050 3 $ 15 $ 1.00 50 Mandarina 150 6 $ 07 $ 1.50 10 1. Existe una extensin propicia para este tipo de cultivo de 250.000 m2 2. Se asegura el suministro de agua, aproximadamente por 20 aos (existencia de aguadas en la zona). 3. La financiera pretende hacer una inversin de 20 millones, pensando exportar toda su produccin a partir del 3er ao, que es cuando los rboles comienzan a ser productivos. 4. El gobierno ha determinado que ste proyecto emplee al menos 200 personas ininterrumpidamente. Decisin a tomar: Cuntos rboles de naranja, limn, pomelo y mandarina, debern sembrarse con el objetivo de maximizar el valor de la futura exportacin anual? Formulacin del problema: Sean X1: X2: X3: X4: nmero de rboles de naranja a ser sembrados. nmero de rboles de limn a ser sembrados. nmero de rboles de pomelo a ser sembrados. nmero de rboles de mandarinas a ser sembrados.

Valor medio de la export. anual: U = 10150X1 + 4200X2 + 1550X3 + 7150X4 Segn las siguientes restricciones: Extensin de tierra: 4X1 + 5X2 + 3X3 + 6X4 250 000 m2 Inversin inicial: 2X1 + 0.5X2 + 1X3 + 1.50X4 $20 000 000 Desempleo mnimo: 36X1 + 72X2 + 50X3 + 10X4 2008360 (horas hombre/da/ao) Nmero de rboles a sembrar: X1 0, X2 0, X3 0, X4 0 Obtuvimos un modelo del problema de tipo: Maximizar U = f ( ) Sujeto a: Restricciones Para ciertos tipos de funciones, como ser relaciones algebraicas elementales, si las restricciones no son demasiado numerosas, existen mtodos analticos que resuelven el problema ejemplo que hemos modelado como un problema de programacin matemtica lineal. Para problemas con gran nmero de restricciones, llamados de gran tamao, se han desarrollado tcnicas que los resuelven, la mayor de las veces en forma aproximada. La funcin f, puede consistir en un conjunto de reglas de cmputo (un algoritmo p. ej.); reglas lgicas que nos permiten calcular la utilidad (U) de ejecucin para 6

Introduccin a la Investigacin de Operaciones cualquier conjunto especfico de valores de las variables tanto controlables como no controlables; generalmente obtenemos soluciones aproximadas a los valores ptimos de las variables correspondientes. Otras veces, nos vemos forzados a experimentar con el modelo y simularlo, seleccionando valores de las variables segn una distribucin de probabilidad, lo que nos permite calcular o0 muestrear un valor aproximado de la funcin U. Ejemplo que muestrea un valor aproximado de la confiabilidad de un grafo mediante el Mtodo Montecarlo:
Funcin de Utilidad de la Confiabilidad de G cont := 0; Para n:= 1, N sortear G Si G conexo: con := cont + 1 fin para Conf (G) = cont / N.

Una vez obtenido un valor (o muestra) de la funcin de utilidad, podemos especificar un procedimiento que permita seleccionar valores sucesivos (de prueba) de variables no controlables, de manera que converjan hacia una solucin ptima. Una SOLUCIN PTIMA es aquella que maximiza o minimiza (segn convenga) la medida de ejecucin de un modelo, sujeto a las condiciones y restricciones pertinentes al sistema. Muchas veces, independientemente del procedimiento utilizado, se busca una solucin mas ptima, o mejor dicho, mas cercana a la ptima. En consecuencia, la optimizacin produce la mejor solucin para el problema que se est modelando. La solucin ptima ser la mejor para el modelo en consideracin, ya que un modelo nunca es una representacin exacta del problema; en el mejor de los casos, el modelo es una "buena" representacin del problema, de ah que la solucin ptima o cercana a la ptima derivada de ese modelo, es una "buena" aproximacin a la solucin ptima y, por lo tanto, se supone que ser la mejor para el problema que se pretende resolver.

1.3 Problemas tipo en Investigacin Operativa


Desde sus comienzos la Investigacin de Operaciones se ha aplicado a una gran variedad de problemas; la gran mayora de ellos han sido de naturaleza tctica, mas que estratgica. Un problema es ms tctico que estratgico si cumple con las siguientes condiciones: 1) su solucin puede modificarse o anularse fcilmente, tiene efecto de corta duracin; 2) su solucin afecta a una parte menor de la organizacin; 3) los resultados deseados se consideran como proporcionados (obtenidos), sin que medie una seleccin de medios, fines, metas u objetivos a largo plazo. La planificacin de una empresa u organizacin, con sus metas y objetivos, es un problema ms estratgico que tctico. El minimizar los costos del transporte, en el que la minimizacin en s es el resultado conveniente, es considerado un problema ms tctico que estratgico. La aplicacin de la Investigacin Operativa a una amplia variedad de problemas tcticos, y la frecuente recurrencia de esos problemas, ha permitido identificar problemas tipo que se agrupan segn los modelos y procedimientos (tcnicas) similares para su resolucin. Esos problemas tipo son: asignacin de

Introduccin a la Investigacin de Operaciones recursos escasos, ordenamiento, secuenciacin y coordinacin de tareas, lneas de espera, mantenimiento y reemplazo de equipos, inventarios, costos y tiempos, gestin de proyectos.

Asignacin de recursos, Ordenamiento


Los primeros desarrollos de la Investigacin Operativa se refirieron a problemas de asignacin de recursos, ordenamientos de tareas, reparto de cargas de trabajo, planificacin, todos con un objetivo preciso de optimizacin de la funcin econmica U en un mundo determinista. Entre las tcnicas de optimizacin citamos: la Programacin Lineal (se ver en el curso), No lineal, Los mtodos de ordenamiento, Programacin Dinmica, Combinatoria, algoritmos de teora de Grafos, etc. Un ejemplo clsico: determinar el nmero de piezas, de cada tipo, que debe producir un determinado taller, a fin de obtener el mximo beneficio. Existen varias mquinas, cada una de las cuales tiene determinadas propiedades y caractersticas, segn las categoras o partes de piezas a producir por cada una de ellas; por lo general se conoce la capacidad mxima del taller y el beneficio que se obtendr con cada categora de pieza producida.

Lneas de espera, Reemplazo de equipos


Estos temas se desarrollan en mundo aleatorio por lo general. Se estudian las esperas y retrasos ocurridos en el sistema, o las fallas en las instalaciones, su reparacin y posibles polticas de mantenimiento y/o reemplazo.

Inventario, Costos y tiempos


Se trata de la operacin mas simple, la de almacenar y/o mantener recursos; se estudia cunto y cundo adquirir. Muchos casos se resuelven modelndolos como lineas de espera.

Gestin de proyectos
El conjunto de tareas de un proyecto se modelan mediante un grafo, sobre el que se determinan cules son los tiempos y las tareas crticas ("cuellos de botellas") del proyecto. Tcnicas usadas: CPM-PERT, mtodo del Camino Crtico. Algunos de estos problemas, se estudiarn en el curso Introduccin a la Investigacin de Operaciones.

Introduccin a la Investigacin de Operaciones

2. OPTIMIZACIN 2.1 Introduccin


2.1.1 Motivos para estudiar Optimizacin
Existe una enorme variedad de actividades en el mundo cotidiano que pueden ser tilmente descritas como sistemas, desde sistemas fsicos tales como una planta industrial hasta entidades tericas tales como los modelos econmicos. La operacin eficiente de esos sistemas usualmente requiere un intento por optimizar varios ndices que miden el desempeo del sistema. Algunas veces, esos ndices son cuantificados y representados como variables algebraicas. Entonces se deben encontrar valores para esas variables, que maximicen la ganancia o beneficio del sistema, o bien minimicen los gastos o prdidas. Se asume que las variables dependen de ciertos factores. Algunos de esos factores a veces estn bajo el control (al menos parcialmente) del analista responsable del desempeo del sistema. El proceso de administracin de los recursos escasos de un sistema se suele dividir en seis fases: i anlisis matemtico del sistema ii construccin de un modelo matemtico que refleja los aspectos importantes del sistema iii validacin del modelo iv manipulacin del modelo a fin de obtener una solucin satisfactoria, si no ptima v implementacin de la solucin seleccionada vi introduccin de una estrategia de control del desempeo del sistema despus de la implementacin efectuada. La cuarta fase, la manipulacin del modelo, es la que concierne a la teora de la optimizacin. Las otras fases son muy importantes en la administracin de cualquier sistema y probablemente requerirn mayor esfuerzo total que la fase de optimizacin. Sin embargo, en esta presentacin de la optimizacin se asumir que las dems fases fueron o sern resueltas aparte. Debido a que la teora de la optimizacin brinda este eslabn en la cadena de la administracin de sistemas constituye un cuerpo importante del conocimiento matemtico.

2.1.2 El Alcance de la Optimizacin


Una de las herramientas ms importantes de la optimizacin es la programacin lineal. Un problema de programacin lineal est dado por una funcin lineal de varias variables que debe ser optimizada (maximizada o minimizada) cumpliendo con cierto nmero de restricciones tambin lineales. El matemtico G.B. Dantzig desarroll un algoritmo llamado el mtodo simplex para resolver problemas de este tipo. El mtodo simplex original ha sido modificado a fin de obtener un algoritmo eficiente para resolver grandes problemas de programacin lineal por computadora.

Introduccin a la Investigacin de Operaciones Por medio de la programacin lineal se pueden formular y resolver problemas de una gran variedad de campos del quehacer humano, entre los que se puede mencionar: asignacin de recursos en la planificacin de gobierno, anlisis de redes para planificacin urbana y regional, planificacin de la produccin en la industria, y la administracin de sistemas de transporte y distribucin. Por esto la programacin lineal es uno de los xitos de la moderna teora de la optimizacin. La programacin entera est relacionada con la resolucin de problemas de optimizacin en los cuales al menos algunas de las variables deben tomar slo valores enteros. Cuando todos los trminos son lineales se habla de programacin lineal entera. Muchos problemas de naturaleza combinatoria se pueden formular en trminos programacin entera. Entre los ejemplos prcticos se puede citar: ubicacin insumos, secuenciamiento de trabajos en lneas de produccin, balance de lneas montaje, problemas de asignacin biunvoca, control de inventarios, y reemplazo mquinas. de de de de

Uno de los mtodos importantes para resolver esos problemas, debido a R.E. Gomory, se basa en parte, en el mtodo simplex antes mencionado. Otro mtodo es de naturaleza combinatoria y consiste en reducir el problema original a otros ms pequeos, y tal vez ms fciles, y partir el conjunto de soluciones posibles en subconjuntos ms pequeos que pueden ser analizados ms fcilmente. Este mtodo se llama branch and bound (ramificacin y acotacin) o branch and backtrack. Dos de las contribuciones importantes a ste mtodo las han hecho Balas y Dakin. Pese a las mejoras realizadas no existe an un mtodo unificado que sea eficaz para resolver problemas de programacin entera de tamao realista. Otra clase de problemas involucran la administracin de una red. Problemas de flujo de trfico, comunicaciones, distribucin de bienes, y planificacin de proyectos son generalmente de este tipo. Muchos de estos problemas se pueden resolver por los mtodos mencionados previamente (programacin entera o lineal). Sin embargo debido a que esos problemas usualmente tienen una estructura especial, se han desarrollado tcnicas especializadas ms eficientes para su resolucin. En este campo las mayores contribuciones se deben a Ford y Fulkerson; quienes desarrollaron el mtodo de etiquetado para maximizar el flujo de un producto a travs de una red y un mtodo para minimizar el costo de transportar una cantidad dada de producto a travs de una red. Esas ideas se pueden combinar con las de programacin entera para analizar toda una familia de problemas prcticos de redes. Algunos problemas se pueden descomponer en partes y se optimizan los procesos de decisin de stas. En algunas instancias es posible alcanzar el ptimo del problema original solamente descubriendo como optimizar esas partes constituyentes. Este proceso de descomposicin es muy potente, pues permite resolver una serie de problemas ms pequeos y fciles en vez de uno grande que podra ser intratable. Los sistemas para los cuales esta aproximacin brinda un ptimo vlido se llaman sistemas seriales multi-etapa. Una de las tcnicas ms conocidas para abordarlos fue bautizada programacin dinmica por R. E. Bellman, el matemtico que la desarroll,. Los sistemas seriales multietapa se caracterizan por un proceso que se realiza en etapas, como los procesos de manufactura. En vez de intentar optimizar alguna medida de desempeo viendo a todo el problema como una unidad, la 10

Introduccin a la Investigacin de Operaciones programacin dinmica optimiza una etapa por vez a fin de producir un conjunto de decisiones ptimas para todo el proceso. Una variada gama de problemas tales como inversin de capital, confiabilidad de mquinas, y anlisis de redes se pueden ver como sistemas seriales multietapa; de modo que la programacin dinmica tiene una amplia aplicabilidad. En la formulacin de muchos problemas de optimizacin no se puede hacer la hiptesis de linealidad que caracteriza a la programacin lineal. No existen procedimientos generales para problemas no lineales. Se han desarrollado un gran nmero de algoritmos especiales para tratar casos particulares. Muchos de esos procedimientos se basan en la teora matemtica relacionada con el anlisis de la estructura de tales problemas. Esta teora se llama generalmente optimizacin clsica. Una de las principales contribuciones modernas a esta teora fue hecha por Kuhn y Tucker quienes desarrollaron lo que se conoce como las condiciones de Kuhn Tucker. La coleccin de tcnicas desarrolladas por esta teora se llama programacin no lineal. Pese a que muchos problemas de programacin no lineal son muy difciles de resolver, hay cierto nmero de problemas prcticos que pueden ser formulados de manera no lineal y resueltos por los mtodos existentes. Esto incluye el diseo de entidades tales como transformadores elctricos, procesos qumicos, condensadores de vapor y filtros digitales.

2.1.3 La Optimizacin como una rama de las Matemticas


Se puede ver, por lo dicho en la seccin anterior, que la teora de la optimizacin es matemtica por naturaleza. Tpicamente involucra la maximizacin o minimizacin de una funcin (a veces desconocida) que representa el desempeo de algn sistema. Esto se resuelve encontrando los valores de las variables (cuantificables y controlables) que hacen que la funcin alcance su mejor valor. A fin de entender como operan los algoritmos se requieren conocimientos de lgebra lineal y clculo diferencial con varias variables. Algunos de los problemas de la teora de optimizacin se pueden resolver por las tcnicas clsicas del clculo avanzado (tales como mtodos Jacobianos y el uso de multiplicadores de Lagrange). Sin embargo, la mayora de los problemas de optimizacin no satisfacen las condiciones necesarias para ser resueltos de esta manera. Muchos de los otros problemas, pese a poder ser tratados con las tcnicas clsicas, se resuelven ms eficazmente si se utilizan mtodos diseados para cada caso particular. A travs de la historia de las matemticas se ha construido una coleccin de tales tcnicas. Algunas han sido olvidadas y reinventadas, otras recibieron poca atencin hasta que las computadoras las hicieron utilizables. El grueso de material al respecto es de origen reciente debido a que muchos de los problemas, tales como el flujo de trfico, recin ahora cobran inters y tambin debido al gran nmero de investigadores disponibles actualmente para analizar tales problemas. Cuando ese material es catalogado dentro de un cuerpo autocontenido de conocimientos el resultado es una nueva rama de las matemticas aplicadas.

11

Introduccin a la Investigacin de Operaciones

2.1.4 Conceptos Bsicos de Optimizacin


Esta seccin introduce algunos de los conceptos bsicos de optimizacin que se utilizan a lo largo del presente compendio. Cada concepto se ilustra por medio del siguiente ejemplo. El problema es: Maximizar: sujeto a: f (x1,x2) h1 (x1,x2) 0 x1 0 x2 0 (1.1) (1.2) (1.3) (1.4)

Este es un problema tpico en la teora de optimizacin: la maximizacin (o minimizacin) de una funcin real de variables reales (a veces una sola variable) sujeta a un nmero de restricciones (a veces este nmero es cero). La funcin f se llama funcin objetivo, x1 y x2 se llaman variables independientes o variables decisionales. El problema es encontrar valores reales para x1 y x2, que satisfagan las restricciones (1.2), (1.3) y (1.4), los cuales introducidos en (1.1) hagan que f (x1,x2) tome un valor no menor que para cualquier otro par x1,x2. En la figura siguiente se muestran tres contornos de la funcin objetivo.

x2 (0,1)

f (x1,x2) = 0.25

f (x1,x2) = 0.50

S h1 (x1,x2) = 0

f (x1,x2) = 1.00 x1 (1,0)

La funcin objetivo tiene el mismo valor en todos los puntos de cada lnea, de modo que los contornos pueden asimilarse a las isobaras (o isotermas) de un mapa climtico. No es difcil ver que la solucin del problema es:
X = ( x 1 , x 2 ) = ( 1, 0 )

12

Introduccin a la Investigacin de Operaciones Esto significa que


f ( X ) f ( X ), X S

(1.5)

Cuando una solucin X S satisface (1.5) se llama solucin ptima, y en este caso solucin mxima (tambin solucin optimal o maximal). Si el smbolo en (1.5) fuera , X sera una solucin mnima. Adems, f ( X ) se llama valor ptimo, y no debe ser confundido con solucin ptima. En la figura se observa que se podran obtener valores mayores de f eligiendo ciertos x1, x2 fuera de S. Cualquier par ordenado de nmeros reales se llama solucin del problema y el valor correspondiente de f se llama valor de la solucin. Una solucin X tal que X S se llama solucin factible, en tanto que S = {(x1,x2) : h (x1,x2) 0, x1 0, x2 0}, que generalmente es una regin conexa, se llama regin factible.

2.2 Convexidad
Se revn a continuacin las propiedades ms importantes de los conjuntos convexos y de las funciones convexas, tales conjuntos y funciones juegan un rol muy importante en la optimizacin por dos motivos: Cuando se tienen funciones y conjuntos convexos se puede identificar con seguridad los llamados ptimos globales. Muchas operaciones y transformaciones conservan la convexidad, por lo que se puede construir funciones y conjuntos convexos ms complicados a partir de los ms sencillos. Definicin: Combinacin Convexa. Dados (x,y) n, una combinacin convexa de ellos es cualquier punto de la forma: z = x + (1) y con | 0 1. Notas: Si 0 y 1, se dice que z es una combinacin convexa estricta (o propia). La interpretacin geomtrica es que z es un punto del segmento de recta determinado por (x,y). Definicin: Conjunto Convexo. S n es un conjunto convexo si [x + (1 ) y] S (x,y) S, : 0 1

13

Introduccin a la Investigacin de Operaciones

conjunto convexo

conjunto no convexo

Es decir que S es un conjunto convexo si contiene a todos los segmentos de recta que se pueden formar con los puntos que le pertenecen. Definicin: Funcin Convexa (en un conjunto convexo). Sea S n, un conjunto convexo. La funcin f: S es convexa en S si: f [x + (1) y] f (x) + (1) f (y) (x,y) S, : 0 1 Si S = n, se dice que f es convexa.
f

f(x) +(1) f(y)


f(x) f [ x + (1) y ] f(y) x y x

2.2.1 Composicin de conjuntos y funciones convexas


La importancia de las funciones y conjuntos convexos radica en que las condiciones necesarias para que una solucin sea un ptimo local se convierten en condiciones suficientes para que sea ptimo global, cuando las funciones y conjuntos en cuestin son convexos. Sean S y T conjuntos convexos, y f una funcin convexa. Entonces los siguientes conjuntos tambin son convexos: i ii S = {x| x S} ST iii iv S +T = {x+y| x S, y T} v {x| f(x) } { (x,) | f(x) }

Sean f y g funciones convexas en un conjunto convexo S, y 0. Entonces las siguientes funciones tambin son convexas en S. i ii iii h1(x) = f(x) + g(x) h2(x) = f(x) h3(x) = max{f(x), g(x)}

Sean fi : Ii , (i = 1,...,n) funciones convexas en el intervalo Ii . 14

Introduccin a la Investigacin de Operaciones


n i =1

f ( x) =

f i ( x ) es una funcin convexa en I = {x n | xi Ii}

2.2.2 Funciones convexas reales, de una sola variable


Para poder utilizar los resultados anteriormente expuestos es necesario poder reconocer las funciones convexas. Por tal motivo, en primer lugar se analizarn las funciones de una sola variable. Una funcin f : S es convexa en el conjunto convexo S, sii: f((1) x + y) (1) f(x) + f(y) x, y S, con 0 o bien 1. Una funcin diferenciable f : I con I es convexa sii: f(y) f(x) + f(x) (yx) x,y I Una funcin diferenciable f en un intervalo I es convexa sii f es no decreciente. Una funcin f diferenciable hasta el segundo orden en un intervalo I es convexa sii f 0 en I.

2.2.3 Funciones convexas en n


Una funcin diferenciable f en un conjunto convexo S es convexa sii f(y) f(x) +f (x) (yx), x,y S. Una funcin f diferenciable hasta el segundo rden en S n convexo y abierto es 2f convexa sii la matriz de derivadas segundas: es semidefinida positiva en x i x j n.

Proposicin: desigualdad de Jensen


Sea f : C R una funcin convexa sobre un conjunto convexo y xi C , m 1, i 0
m

con
i =1

i = 1 .
m

Entonces se cumple que:

f(
i =1

i xi )

m i =1

i f ( xi )

Demostracin por induccin en m: Paso Base (m = 2): Sean 12 0 / 1 + 2 = 1 y x1 , x2 C .

f (1 x1 + 2 x 2 ) = f ( 1 x1 + (1 1 ) x2 ) 1 f ( x1 ) + (1 1 ) f ( x2 )
1 + 2 = 1

f es convexa en

15

Introduccin a la Investigacin de Operaciones

Paso Inductivo:
k

(Hiptesis) (Tesis) Demostracin:


m

f(
i =1 m

i xi ) i xi )

k i =1 m i =1

i f ( xi ) , k m 1 i f ( xi )

f(
i =1

f(
i =1

i xi ) = f ( m x m +

m 1 i =1

i xi ) = f m xm + (1 m )

m 1 i =1

i xi = (1 m )
m 1 i =1

= f ( m x m + (1 m ) y ) m f ( xm ) + (1 m ) f ( y ) = m f ( x m ) + (1 m )
f convexa en C

i xi ) (1 m )

m f ( x m ) + (1 m )
H.I.

m 1 i =1

i f ( xi ) = (1 m )

m i =1

i f ( xi )

2.3 Optimos Locales y Globales


En este captulo se estudian las propiedades de las soluciones ptimas. Se brinda adems un conjunto de condiciones necesarias y suficientes para que una solucin sea local o globalmente ptima.

2.3.1 Optimos locales y globales, direcciones factibles y direcciones de descenso


La siguiente es la forma general de un problema de optimizacin:
Min f ( x) (G ) sujeto a : xF y los problemas de programacin matemtica, tienen la forma siguiente: Min f ( x) sujeto a : (M ) g ( x) 0 x X Todos los problemas de optimizacin pueden ser escritos en la forma general (G). Se supondr que F n y f : F , donde F es la regin factible y f la funcin objetivo.

16

Introduccin a la Investigacin de Operaciones

En un problema de programacin matemtica se supone que En el problema (M) la regin factible es el conjunto: {x X g ( x) 0}
Definicin: x F es un ptimo global de (G) sii f ( x ) f ( x ) x F . Definicin: x F es un ptimo local de (G) sii > 0, tal que se cumple que
f ( x ) f ( x ) x F,

X n, g : X m y f : X .

con x x < .

La mayora de los mtodos para hallar un ptimo son por bsqueda direccional: partiendo de un punto de F, se define una direccin de bsqueda y se determina un nuevo punto a lo largo de sta. Por ese motivo son de inters los conceptos de direccin factible y direccin de descenso.
Definicin: d es una direccin factible de (G) en x F si 0 > 0 tal que x + d F (0,0) Definicin: d es una direccin de descenso [o ascenso] de la funcin f en x F si 0 > 0 tal que
f ( x + d ) < f ( x )

(0,0)

en el caso de ascenso: ( f ( x + d ) > f ( x ) ] Observacin: Sea f una funcin diferenciable en x F . Si f ( x ) d < 0 , entonces d es una direccin de descenso en x .

2.3.2 Condiciones necesarias y suficientes para ptimos


Con las definiciones que preceden, ms las de convexidad, se puede definir un conjunto de condiciones de optimalidad. Previamente se deber distinguir entre condicin necesaria y condicin suficiente. Una condicin necesaria para un ptimo (local) es una condicin que se cumple en cada solucin optimal, aunque tambin podra cumplirse en otras soluciones. Puede ser utilizada para descartar, en la bsqueda del ptimo, aquellas soluciones que no cumplen la condicin necesaria de optimalidad, o limitar a priori la bsqueda a aquellas soluciones que cumplen dicha condicin. Una condicin suficiente para un ptimo (local) es una condicin que si se cumple garantiza que la solucin es ptima (local). Se puede utilizar en un procedimiento en el que se trata de lograr que la condicin se cumpla, para de ese modo obtener una solucin ptima.
Teorema: Si x F es un ptimo local de (G) no existe en ese punto ninguna direccin de descenso que adems sea factible.

En consecuencia: una condicin necesaria para que x F sea un ptimo local, es que en ese punto no exista ninguna direccin factible de descenso.
Teorema: Si en un problema del tipo (G), la funcin objetivo f es diferenciable, y x F es un ptimo local de (G), entonces f ( x ) d 0 para todas las direcciones factibles d en x .

17

Introduccin a la Investigacin de Operaciones Corolario: Si la funcin objetivo f de (G) es diferenciable, y x es un punto interior de F que cumple ser ptimo local, entonces: f ( x ) = 0 . Teorema: Si la funcin objetivo f, y la regin factible F de (G) son convexas y adems no existe una direccin factible de descenso en x F , entonces x es un ptimo global del problema (G).

Ntese que el teorema precedente establece una condicin suficiente de optimalidad para un problema en que la funcin objetivo y la regin factible son convexas.
Teorema: Sean f y F convexas en el problema (G), con f diferenciable. Si existe x F tal que f ( x ) d 0 para todas las direcciones factibles d en x , entonces x es un ptimo global de (G).

2.4 Condiciones de KuhnTucker


Para problemas de programacin matemtica tambin se pueden aplicar los teoremas anteriores. Para este tipo de problemas existen adems condiciones de optimalidad especiales, las llamadas condiciones de KuhnTucker. Estas sern introducidas a travs de una analoga con la mecnica. Considrese el siguiente problema:
Min f ( x) sujeto a : (M ) g i ( x) 0, x X Los ptimos locales de (M) pueden ser vistos como las posiciones de equilibrio estable de una partcula que se mueve en un campo de fuerza cuyo potencial es f, en una regin X, y condicionada a moverse en el interior de una regin delimitada por ciertas paredes : Vi = {x g i ( x) = 0}. Supngase que la partcula est en reposo en x , punto interior de X. La partcula est expuesta a fuerzas de reaccin ri perpendiculares a las paredes y orientadas hacia el interior, como los gradientes gi son tambin perpendiculares a las paredes, pero orientados hacia el exterior, las fuerzas reactivas de las paredes pueden expresarse como: ri = i gi ( x ) para parmetros i 0 , suponiendo que gi ( x ) 0 . Las fuerzas reactivas slo actan en las paredes que estn en contacto con la partcula, es decir que i 0 solamente cuando gi ( x ) = 0 . Esto se expresa en la forma siguiente: i gi ( x ) = 0, i = 1,..., m . Finalmente, para que la partcula est en reposo se exige balance de las fuerzas:
f ( x ) +
m i =1

i = 1,..., m

( i gi ( x )) = 0

18

Introduccin a la Investigacin de Operaciones

El resumen de estas exigencias son las Condiciones de Kuhn Tucker: i ii iii iv


g ( x ) 0,

es decir: que el punto est en la regin factible.


i = 1,

i gi ( x ) = 0 , i 0,

,m,

fuerza slo en las paredes activas.

las fuerzas apuntan hacia el interior de la regin factible.


i gi ( x ) = 0 ,

f ( x ) +

equilibrio de fuerzas.

Las condiciones de Kuhn Tucker son necesarias para que un punto x interior a X, sea ptimo local, salvo que ocurran casos excepcionales, por ejemplo: gi ( x ) = 0 , o que f ( x ) no pueda ser balanceado por las fuerzas reactivas, como ocurre en la figura siguiente:

g (x) = 0
2

g (x) = 0
1

g (x)
1

g (x)
2

f(x)

Estos casos excepcionales se evitan imponiendo constraint qualifications, que son condiciones que deben ser satisfechas por las restricciones del problema. Muchas de ellas se expresan en el punto ptimo potencial, por lo que no son muy tiles en la prctica, ya que no se sabe cual es el ptimo. Suele ser ms til imponer las siguientes: i ii que las restricciones sean lineales. que las gi sean convexas y exista un x tal que gi ( x ) < 0, i = 1,..., m

En resumen, se formula el:


Teorema de Kuhn Tucker: Sea x X un punto interior que es ptimo local del problema (M), y sean f y gi funciones diferenciables. Si se cumplen las constraint qualifications apropiadas existe m que satisface las siguientes condiciones de Kuhn Tucker:

i ii iii iv

g( x ) 0 i gi ( x ) = 0 , 0
f ( x ) + i gi ( x ) = 0

i = 1,

,m

19

Introduccin a la Investigacin de Operaciones

El siguiente es un caso particular del Teorema anterior:


Teorema: Sea f una funcin diferenciable y x una solucin ptima de:

Min f ( x) ( P) sujeto a : x0 Entonces i ii iii


x 0 f ( x ) x = 0 f ( x ) 0

En caso de tener restricciones de igualdad, las fuerzas reactivas de la analoga mecnica anterior pueden apuntar hacia ambos lados de las paredes, y en consecuencia desaparece la exigencia de i 0 . Adems, todas las paredes son tocadas por la partcula en todos los puntos factibles, por lo que i gi ( x ) = 0 tambin desaparece. El teorema correspondiente se enuncia:
Teorema: Sea x un ptimo local del problema

Min f ( x) ( M = ) sujeto a : g ( x) = 0 y sean las gi tales que gi ( x ) son linealmente independientes para i = 1,..., m Entonces m tal que f ( x ) +
i gi ( x ) = 0

2.5 Relajaciones
Cuando se enfrenta un problema difcil de optimizacin, es posible reformularlo de un modo ms fcil por medio de una relajacin; sta nueva versin se llama problema relajado

2.5.1 Generalidades sobre relajaciones


Considrense los siguientes problemas: Min f ( x) (G ) sujeto a : xF y Min f L ( x) (G L ) sujeto a : x FL

Definicin: Se dice que (GL) es una relajacin de (G) sii:

i) FL F, ii) f L(x) f (x), x F. 20

Introduccin a la Investigacin de Operaciones

f f
L

FL

Observacin: Si f est definida fuera de F, no es necesario que se cumpla f L f para los x exteriores al dominio F.
Teorema 1:

Sea (GL) una relajacin de (G),


x L y x soluciones optimales de (GL) y (G) respectivamente x F.

En tales condiciones se cumple: fL( x L ) f ( x ) f ( x L ).


Prueba:

fL( x L ) fL ( x ) por ser x L solucin optimal de (GL). fL ( x ) f ( x ) por la definicin de relajacin. f ( x ) f ( x L ) por ser x solucin optimal de (G). Observacin: En el teorema anterior se supone que existe por lo menos un valor de xF en el cual la funcin f alcanza un mnimo. Para formular el teorema de un modo ms general debera decir inf{f(x):xF} en vez de f( x ), y eventualmente lo mismo para fL( x L ). De esa manera se pierde, lamentablemente, algo de claridad. Supondremos, por lo tanto, a partir de ahora, que siempre existe un valor xF que es solucin optimal de (G).
Corolario 1.1:

Sean (GL) una relajacin de (G), y x L una solucin optimal de (GL) que cumple las siguientes condiciones: i x L F, ii fL( x L ) = f ( x L ) En tales condiciones se cumple que x L es tambin solucin optimal de (G).
Prueba:

Para que x L sea solucin optimal de (G) debe, primero, ser una solucin factible, lo cual es cierto por i. Para demostrar que brinda un valor de f menor o igual que el de cualquier otra solucin factible; sea x una solucin factible cualquiera de (G). 21

Introduccin a la Investigacin de Operaciones

f(x) fL(x) por ser (GL) una relajacin de (G). fL(x) fL( x L ) por ser x L una solucin optimal de (GL). fL( x L ) = f( x L ) por hiptesis ii luego: f(x)f( x L ). Entre las relajaciones ms tpicas se puede citar: ignorar la exigencia de que algunas variables sean nmeros enteros ignorar algunas restricciones de positividad.

2.5.2 Relajacin Lagrangeana.


En los problemas de Programacin Matemtica, que son del tipo: Min f ( x) sujeto a : (M ) g i ( x) 0, x X se usa comnmente la llamada relajacin lagrangeana que consiste en agregar la variable m y construir el siguiente problema:
Min x f ( x) + ( M ) sujeto a : x X Los valores j se llaman multiplicadores de Lagrange o parmetros lagrangeanos. Atencin: los multiplicadores de Lagrange no son variables sino parmetros, es decir que por cada tenemos un problema de optimizacin (M) en la variable x.
f ( x ) = f ( x ) + T g ( x ) = f ( x ) + i gi ( x ) es la llamada funcin lagrangeana de (M) y se
m j =1

i = 1,

,m

j g j ( x)

escribe L(x,).
Teorema 2:

0
Prueba:

(M) es una relajacin de (M).

Deben cumplirse las dos condiciones de la definicin de relajacin: La regin de soluciones factibles de M es F = {xX: g(x)0}, que es un subconjunto de X; adems la regin de soluciones factibles de M es F = X; por lo tanto: F F. Sea xF, entonces gi(x)0, i.

22

Introduccin a la Investigacin de Operaciones


m i =1

Si 0, es decir: i 0, i, se cumple que


f ( x) = f ( x) +
m i =1

i gi ( x ) 0 , por lo tanto,

i gi ( x ) f ( x ) . En consecuencia: M es una relajacin de M

En el caso de problemas con restricciones de igualdad Min f ( x) sujeto a : (M = ) g ( x) = 0 x X La relajacin lagrangeana se construye de forma anloga.
Teorema 3:

(M) es una relajacin de (M=) para cualquier m.


Prueba:

Se deduce a partir de la prueba del teorema anterior.


Teorema 4: (Teorema fundamental de la Relajacin Lagrangeana)

Si x es una solucin optimal de M que cumple: i ii iii g( x ) 0. igi( x ) = 0, i=1...m. 0.

entonces x es tambin una solucin optimal de M.


Prueba:

M es una relajacin de M debido a la condicin iii y por el Teorema 2. x es solucin optimal de M por hiptesis. x F debido a la condicin i.
f ( x ) = f ( x ) +
m i =1

i gi ( x ) = f ( x ) por la condicin ii.

De todo lo anterior, y del Corolario 1.1 se deduce la tesis. La condicin ii se llama condicin de complementariedad porque exige que i = 0, o bien: que gi ( x ) = 0.

23

Introduccin a la Investigacin de Operaciones

Ejemplo 1: Considrese el siguiente problema:


Min f ( x) = ( P) sujeto a :
n j =1 n j =1

()
x2 j 2

ajxj b

x j 0, j = 1,..., n

Se supone que b y aj (j = 1,...,n) son positivos. Se comienza por escribir la primera restriccin de la siguiente forma: b
n j=1

a jx j 0 .

A continuacin se introduce un parmetro lagrangeano (pues hay solamente una restriccin) y se obtiene el problema lagrangeano relajado (P): Min x f ( x) =
n j =1

( 2j a j x j ) + b

x2

( P ) sujeto a : x j 0, j = 1,..., n En la minimizacin con respecto a x, b es una constante que no incide en la determinacin de la solucin optimal. Puesto que en (P) las distintas xj son variables independientes, se puede descomponer el problema (P) en n subproblemas de optimizacin (Pj) independientes:
Min x j f ( x j ) =
x2 j 2

a j x j

( P , j ) sujeto a : x j 0, j = 1,..., n

Se tiene que

f , j x j

( x j ) = x j a j

f , j ( x j ) > 0; si x j > a j x j
Luego

f , j ( x j ) < 0; si x j < a j x j f , j ( x j ) = 0; si x j = a j x j

Por lo tanto (P,j) presenta un mnimo global cuando x j = a j = x j ( ) , y en consecuencia: (P) tiene un ptimo global en x ( ) . 24

Introduccin a la Investigacin de Operaciones

Para resolver el problema (P) se trata de encontrar los valores de que satisfacen las condiciones i al iii del Teorema 4. La condicin ii (condicin de complementariedad) establece que:

(b

a j x j ( ) ) = 0 , es decir que:

= 0, o bien :
a j x j ( ) = b

Se discuten a continuacin ambos casos. Si = 0 Si b =


x j ( ) = 0 , y no se satisface la condicin i: a j x j ( ) = a j a j
n k =1
2 ak .

a j x j () b .

b=

a2 . j

Por lo tanto = = b

Con este valor de es vlido que 0, lo cual equivale a iii; y es vlido que a j x j ( ) = b , que equivale a i y ii. Por lo tanto satisface el Teorema 4, es decir que 2 x j = x j ( ) = a jb a k es una solucin ptima de (P). El valor optimal es:
f ( x) =
1 2

a 2b 2 ( j

2 1 ak ) 2 = 2 b2

2 ak (

2 1 ak ) 2 = 2 b2

2 ak

Ejemplo 2: El problema del mochilero o Knapsac Problem (caso continuo).

Considrese el problema del mochilero, definido como sigue:


n

Max
j =1

ajxj

( KP)

sujeto a :
n j =1

bj x j b

0 xj 1

Siendo aj, bj, b > 0. Se trata del problema de cargar de vveres una mochila de volumen b para un viaje. Se debe elegir entre n comestibles; de cada uno de ellos hay existencias por un volumen bj con un poder nutricional total aj; xj representa la parte que el mochilero deber cargar de las existencias del alimento jsimo. Los alimentos tienen distinto valor que es su poder nutricional por unidad de volumen (cj = aj / bj). Parece natural elegir a los comestibles en orden decreciente de valor nutricional. Supngase que se cumple c1c2cn. Se propone el siguiente procedimiento para llenar la mochila: asignar x1 = 1, x2 = 1, etc. hasta llegar al alimento ksimo, el cual no cabe totalmente, por lo que se coloca todo cuanto quepa (0 xk < 1). Se probar que sta es una solucin ptima utilizando relajacin lagrangeana.

25

Introduccin a la Investigacin de Operaciones

Se construye la relajacin lagrangeana (KP) de (KP) (previamente se plantea el problema como uno de minimizacin)
n

Min x

j =1

( a j + b j ) x j b

( KP ) sujeto a : 0 xj 1 (KP) se descompone en un problema (KP,j) para cada j.

Min x j ( a j + b j ) x j ( KP , j ) sujeto a : 0 xj 1 Ntese que si aj + bj > 0, es decir: si > aj / bj = cj, el valor minimal se presenta en xj() = 0. De la misma forma, si < cj se obtiene xj() = 1, y si = cj, se puede elegir xj [0,1]. Sea = ck, donde k es el comestible que (de acuerdo a lo anterior) no entraba totalmente en la mochila. Si j < k , entonces cj y por lo tanto: x j ( ) = 1 Si j > k, entonces cj < , y por lo tanto: x j ( ) = 0 .
x k ( ) se puede elegir tal que x k ( ) 0, 1 .

La solucin hallada intuitivamente, soluciona el problema relajado con = ck. Adems se cumple 0 y a j x j ( ) = b por lo cual x ( ) satisface las condiciones i al iii del Teorema 4. Por lo tanto x ( ) es solucin ptima de (KP).
En resumen:

El Problema del mochilero:


n

Max
j =1

ajxj

( KP)

sujeto a :
n j =1

bj x j b

0 xj 1

(con aj, bj y b > 0) se soluciona, en el caso continuo, asignando variables iguales a 1 en orden de valor, es decir, en orden descendiente de aj / bj y sin exceder la disponibilidad b del recurso.

26

Introduccin a la Investigacin de Operaciones

Sea xk la variable que violara la restriccin si le fuera asignado el valor 1. Para esta variable se elige un valor menor que 1 y de modo que la restriccin se satisfaga exactamente.
Ejemplo 3: Encontrar un ptimo global al siguiente problema:
n

min
i =1

ai xi2

sujeto a ( P)
n i =1

bi xi + ai

n j =1

p j x j b0

xi > 0 i = 1..n

Sabiendo que pi > 0, ai > 0, bi > 0 i = 1..n y b0 > 0 Primero reescribimos la restriccin:
n i =1 n i =1

bi xi + ai

n j =1

p j x j = b1 x1 + a1 p1 x1 + a1 p2 x2 + ... + a1 pn xn + ... + bn x n + an p1 x1 + a n p 2 x2 + ... + a n p n xn =


n i =1

bi xi + pi xi A =
n j =1

(bi + A pi )xi

Siendo A=

aj .

Por lo tanto, el problema puede ser reescrito as:


n

min
i =1

a i x i2

( P)

sujeto a b0
n i =1

(bi

+ A p i )x i 0

x i > 0 i = 1..n
Hallamos el problema P, relajando la restriccin:
n

min
i =1

ai xi2 (bi + A pi )xi + b0

( P ) sujeto a xi > 0 i = 1..n

Eliminando el trmino independiente y separando el problema, tenemos:


27

Introduccin a la Investigacin de Operaciones

min a j x 2 (b j + A p j )x j j ( P , j ) sujeto a x j > 0 j = 1..n Como a j > 0, la funcin objetivo es convexa. Entonces, encontramos el ptimo derivando:
2a j x j (b j + A p j ) = 0 x j ( ) =

(b j + A p j )
2a j

Imponiendo la condicin de complementariedad, tenemos que

b0

n i =1

(bi + A pi )xi ( )

=0

Si = 0, la solucin no es factible pues se violara la restriccin xi > 0. Entonces


n i =1 n i =1

(bi + A pi )xi = b0

(bi + A pi ) (bi + A pi ) = b0
2a i

n i =1

(bi + A pi )2
2ai

b0

Finalmente, la solucin ptima se obtiene sustituyendo ese valor de : xj = b0 (b j + A p j )


n

2a j

(bi + A pi )
2a i

= aj

b0 (b j + A p j )
n i =1

(bi + A pi )2
ai

i =1

Con condiciones de igualdad, el Teorema 4 tiene una forma ms sencilla.


Teorema 5:

Si x es una solucin optimal del problema (M) que cumple: g( x ) = 0 entonces x es una solucin optimal de (M=).
Prueba:

Se utiliza el Corolario 1.1 y su notacin: (M) es una relajacin de (M=) m por el Teorema 3.
x

es solucin optimal de (M) por hiptesis. y g( x ) = 0.

x F porque se cumple x X,

28

Introduccin a la Investigacin de Operaciones


m i =1

f L ( x ) = f ( x ) +

i gi ( x ) = f ( x )

pues gi( x ) = 0, i.

la conclusin se desprende ahora del Corolario citado.


Teorema 6:

Sean f y gi funciones convexas y diferenciables. Si x X y m, satisfacen: i ii iii iv g( x ) 0.


igi( x ) = 0.

0.
m i =1

f ( x ) +

i gi ( x ) = 0

entonces x es ptimo de (M).


Prueba:

i iii son las condiciones del Teorema 4. Se demostrar a continuacin que iv significa que x es solucin optimal de (M): es una funcin convexa porque i 0 implica que igi es convexa y las sumas de funciones convexas son convexas.
f = f+ i gi

Como f = f +

i gi , la condicin iv implica que f ( x ) = 0 .

Por ser f(x) una funcin convexa, se cumple x X que:


f ( x ) f ( x ) + f ( x )( x x ) = f ( x )

y por lo tanto, x es solucin optimal de (M). La tesis se desprende del Teorema 4. La mayora de los teoremas de esta seccin suponen que x L F , o sea que la solucin optimal del problema relajado pertence a la regin factible del problema original. Si x L F se puede, a partir de x L , encontrar un punto x L F que no es mucho ms caro, lo cual se deduce del siguiente teorema:
Teorema 7:

Sean (GL) una relajacin de (G).


xL xL

y x soluciones optimales de (GL) y (G) respectivamente. una solucin no necesariamente optimal de (GL), que cumple x L F.

En estas condiciones se cumple: f L ( x L ) f ( x ) f ( x L ) .


Prueba:
f L ( x L ) f ( x ) , por el Teorema 1.

29

Introduccin a la Investigacin de Operaciones


f ( x ) f ( x L ) , por ser x

solucin optimal de (G).

luego: f L ( x L ) f ( x ) f ( x L )

2.6 Dualidad
En el captulo anterior se resolvieron problemas de optimizacin determinando (analticamente) los multiplicadores de Lagrange. Esto rara vez se puede hacer en la prctica, y en su lugar lo usual es determinar los multiplicadores de Lagrange resolviendo un nuevo problema de optimizacin, llamado Problema Dual el cual consiste en buscar la relajacin ms fuerte posible, o sea, una relajacin cuyo valor optimal est tan prximo como sea posible del valor ptimo del problema original.

2.6.1 Problemas duales. Condiciones de optimalidad


Considrese un problema de Programacin Matemtica (P) cuyas restricciones son todas del tipo (esta suposicin ser al slo efecto de fijar ideas): Min f ( x) sujeto a : ( P) g ( x) 0 x X La relajacin lagrangeana de este problema es (P): Min f ( x) + T g ( x) ( P ) sujeto a : x X Sean: p el valor optimal de la funcin objetivo de (P) y () el valor optimal de la funcin objetivo de (P), para cada .
p = Min { f ( x) g ( x) 0, x X } ( ) = Min f ( x) + T g ( x) x X

Puesto que (P) es una relajacin de (P) se cumple que 0 y entonces () p. Es entonces natural elegir la relajacin ms fuerte posible, o sea: elegir 0 tal que () sea maximal. Esto nos da el problema dual: Max ( ) ( D) sujeto a :

0
(P) se llama problema primal del problema (D). Si se tiene restricciones de igualdad en el problema primal no habr exigencia de positividad en el problema dual. Los teoremas que siguen son vlidos tambin en este

30

Introduccin a la Investigacin de Operaciones

caso, ya que se construyen a partir de que () p para los valores de que dan relajaciones. Sea d el valor optimal de (D). p y d son entoces los valores optimales primal y dual respectivamente.
Observacin: d p Prueba:

(P) es una relajacin de (P), por lo tanto () p, 0 Pero entoces: d = Max {() : 0} p No siempre ocurre que d = p, por eso se define la discrepancia de dualidad (duality gap): = p d Ntese que siempre se cumple que 0.
Ejemplo 4:
n

Min x ( P)

j =1

x2 2 j

sujeto a :
n j =1

ajxj b

xj 0

con aj y b positivos. Se plantea el problema relajado lagrangeano, tal como se hizo en el captulo de relajaciones:
n

Min x

j =1

( x 2 / 2 a j x j ) + b j

( P ) sujeto a : xj 0 La solucin de (P) es x j ( ) = a j , segn lo visto en relajaciones. Entonces la funcin objetivo del problema dual es:
( ) =
n j =1
1 (( a j ) 2 2 a j a j ) + b = 2 (

a 2 ) + b j

De modo que el problema dual es:

31

Introduccin a la Investigacin de Operaciones

Max ( ) = 1 ( 2 ( D) sujeto a :

a 2 )2 + b j

0
es una funcin cncava y tiene, por lo tanto, un valor mximo cuando d d = 0 (suponiendo que sto brinde una solucin factible). Se obtiene entonces:
0= d = ( d a 2 ) + b , o sea: = b ( j
a 2 ) 0 , que es j

factible.

Por lo tanto = b a 2 es una solucin optimal del problema dual. Este es el mismo j multiplicador de Lagrange que se hall en el captulo Relajaciones. Adems:
d = ( ) = 1 ( 2 a 2 )b 2 ( j a 2 ) 2 + bb j
1 a 2 = 2 b2 j

a2 j

El valor optimal del problema primal, calculado en el captulo de Relajaciones es: 1 p = 2 b2 a 2 Por lo tanto en este caso: = p d = 0. j Ntese que la solucin ptima del problema primal x j = a j b a k2 = x j ( ) es igual a la solucin ptima del problema relajado con la solucin ptima del problema dual como multiplicador de Lagrange. Por lo tanto, se puede determinar la solucin primal ptima con la ayuda de la solucin ptima dual.
Teorema 9:

Si x y son soluciones factibles de (P) y (D) respectivamente, entonces cumplen:


( ) f ( x )

Prueba:
( ) d p f ( x )

Corolario 9.1:

Sean x y soluciones factibles de (P) y (D) respectivamente, que cumplen:


( ) = f ( x ) .

En esas condiciones x y son soluciones optimales de (P) y (D) respectivamente.


Prueba:

Sea una solucin factible cualquiera del problema dual, de acuerdo al Teorema anterior tenemos: ( ) f ( x ) = ( ) y en consecuencia: es solucin optimal del problema (D) Anlogamente se demuestra que x es solucin optimal de (P) Este corolario brinda una nueva interpretacin del Teorema 4. Bajo las condiciones del Teorema es vlido que x y son factibles para (P) y (D) y adems que ( ) = f ( x ) + i gi ( x ) = f ( x ) . La optimalidad se desprende tambin del Corolario anterior.

32

Introduccin a la Investigacin de Operaciones Observacin: () es una funcin cncava.

En los casos en que se puede determinar en forma explcita (analtica) la funcin objetivo del problema dual () vale la pena, en general, resolver el problema dual en lugar del primal y despus determinar una solucin primal con la ayuda de los teoremas que siguen. El gradiente de la funcin objetivo dual se obtiene a travs del siguiente teorema (adems de tomar la derivada de la funcin deducida analticamente).
Teorema 10:

Si se cumple que X es cerrado y acotado, y que (P) tiene solucin ptima x ( ) nica entonces: ( ) = g ( x ( )) T
Prueba:

Sean
( x , ) = f ( x ) + T g ( x ) = f ( x ) + g ( x ) T

( ) = Min xX {f ( x) + T g ( x)} = Min xX [ ( x, )] Ntese que ( x , ) = g ( x ) T . Adems ( ) = x [ x ( ), ] x ( ) + [ x ( ), ] Como x() minimiza (x,) en el sentido de las x: x[x(),] = 0 Luego: () = [x(),] = g ( x ( )) T
Ejemplo (continuacin): Se aplicar el Teorema en el ejemplo anterior

Sabemos que x j ( ) = a j y que ( ) = 1 2


g ( x ) = b a j x j () = b a j a j

(a )
2 j

+ b

Adems ( ) = a 2 + b , que concuerda con ( ) = g ( x ( )) como deba ser de j acuerdo al teorema precedente. Cuando = se cumple que ( ) = g ( x ) = 0 y por lo tanto x es una solucin factible. Adems g ( x ) = 0 , por lo tanto: f ( x ) = f ( x ) + g ( x ) = ( ) . La optimalidad de x y de se desprende del Corolario 9.1. Cabe preguntarse si en general se puede tener la esperanza de encontrar la solucin ptima del problema primal a travs de la solucin ptima del dual. Los siguientes teoremas responden parcialmente a esta inquietud.
Teorema 11:

Si X es cerrado y acotado, es solucin ptima de (D) y ( P ) tiene una solucin ptima x ( ) nica. Entonces se cumple: i T g ( x ( )) = 0 ii g ( x ( )) 0

33

Introduccin a la Investigacin de Operaciones

Prueba:
x( )

es solucin ptima nica de ( P ) entonces, por el Teorema 10 (*) b) ( ) 0

( ) = g ( x ( )) T

Como es solucin ptima de (D), y () es diferenciable, se cumple que: a) ( ) = 0 Introduciendo (*) en a y b se obtienen i y ii. Los puntos i y ii del Teorema 11 coinciden con los i y ii del Teorema 4. La condicin iii ( 0) se cumple automticamente. Del Teorema 4 y del Corolario 9.1 se deduce el teorema siguiente.
Teorema 12:

Si X es cerrado y acotado, es solucin ptima de (D), y ( P ) tiene un ptimo nico x ( ) . Entonces x ( ) es solucin ptima de (P). Solamente algunos problemas muy especiales pueden ser resueltos con la tcnica del captulo Relajaciones, que consiste en resolver analticamente el problema relajado para valores fijos de los parmetros lagrangeanos, y posteriormente determinar dichos parmetros de modo que se cumplan las condiciones del Teorema 4. Con la ayuda del problema dual se obtiene una tcnica general para determinar los valores ptimos de los parmetros de Lagrange, a partir de los cuales se puede calcular las soluciones ptimas del problema primal, de forma que el duality gap sea nulo (=0).

2.7 Programacion Lineal


En este captulo se exponen la teora y los mtodos de la Programacin Lineal (PL), que comprende los problemas de optimizacin donde se tiene una funcin objetivo lineal y restricciones lineales. Esta es la clase de problemas ms importante y ms usada, entre otras cosas porque se puede resolver problemas muy grandes en poco tiempo de clculo y con bajo consumo de recursos computacionales, y tambin porque esta teora inspira el desarrollo de otras reas.

2.7.1 Generalidades
En los problemas de programacin lineal (PL) se tiene una funcin objetivo lineal y restricciones lineales. En general se exige tambin la positividad de las variables. Un problema general de PL se puede escribir en la forma siguiente:

34

Introduccin a la Investigacin de Operaciones

Min z = sujeto a :
n

n j =1

cjxj

j =1 n j =1

aij x j = bi , i = 1,..., k aij x j bi , i = k + 1,..., m j = 1,..., l

x j 0,

La regin factible de un problema de PL es un conjunto polidrico. En un espacio tridimensional, un poliedro es un conjunto limitado por superficies planas como lo muestra el ejemplo de la figura:

El mtodo predominante para la resolucin de problemas de PL es el llamado mtodo simplex, el cual utiliza una estrategia active set, que en este caso implica que se recorran las aristas de la regin factible, de vrtice en vrtice. El mtodo simplex exige que se haya formulado el problema en su forma standard, en la que slo se tienen restricciones de igualdad (y la exigencia de positividad de las variables). Sin embargo, la formulacin ms usual en el contexto terico es la forma cannica, en que se tienen solamente restricciones de desigualdad (y condiciones de positividad de las variables). Cualquier problema de PL se puede formular tanto en forma cannica como en forma standard.

2.7.2 Forma cannica y dualidad


La forma cannica es la ms adecuada para razonamientos tericos relacionados con la dualidad:
Min z = ( PLc ) sujeto a :
n j =1 n j =1

cjxj

a j x j bi ,

i = 1,..., m j = 1,..., n

x j 0,

35

Introduccin a la Investigacin de Operaciones

Utilizando notacin vectorial y matricial se obtiene una forma ms compacta de escribir el problema (PLc):
Min z = c T x ( PLc ) sujeto a : Ax b x0

Donde {c, x} n, b m, y A mn. El problema dual del problema de PL en la forma cannica tiene la forma que se deduce del teorema siguiente:
Teorema 13:

El problema dual (PDc) del problema primal (PLc) es:

Max b T u ( PDc ) sujeto a : AT u c u0


Prueba:

Antes de hallar el dual se reescribe el problema primal en la forma utilizada para la definicin de dualidad:
Min c T x ( PLc ) sujeto a : b Ax 0 x0

Se decide no relajar las exigencias de positividad (x 0). La funcin objetivo del dual es () = Minx {cTx + T(bAx)x 0} = Minx {(cT TA)x + Tbx 0}, que equivale a:
( ) =
n

Min x

j =1

(c T T A) j x j + T b x j 0, j =

T b, si (c T T A) j 0, j
, si j tal que (c T T A) j < 0

Como se desea maximizar (), el valor no interesa. Se tiene una relajacin si se cumple que 0. El problema dual toma entonces la forma: Max ( ) ( PDc ) sujeto a :

36

Introduccin a la Investigacin de Operaciones

y puede ser escrito como: Max T b ( PDc ) sujeto a : c T T A 0

0
Transponiendo en la funcin objetivo y en la restriccin se obtiene: Max b T ( PDc ) sujeto a : AT c

0
La tesis se deduce sustituyendo por u.
Teorema 14:

El problema dual del problema dual (PDc) es el problema primal (PLc).


Prueba:

Se sugiere hacer la relajacin lagrangeana de (PDc) y continuar de la misma forma que en el Teorema 13. Se pueden construir problemas duales de problemas cuyas restricciones sean de igualdad o desigualdad, y cuyas variables tengan o no restriccin de signo. Debido a que las variables duales se interpretan por medio de relajacin lagrangeana, se observa que restricciones de desigualdad conducen a variables duales restringidas en su signo, en tanto que restricciones de igualdad conducen a variables duales sin limitacin de signo. Adems, como las variables primales son variables duales para el problema dual, se concluye que variables primales con restriccin de signo conducen a restricciones de desigualdad en el dual, mientras que las variables primales no restringidas respecto al signo se relacionan con restricciones de igualdad en el problema dual. Todo lo que precede se formula en el siguiente teorema, en un modo ms general.

37

Introduccin a la Investigacin de Operaciones

Teorema 15:
T T Min c1 x1 + c 2 x 2

sujeto a :

El problema general de PL:

A11 x1 + A12 x 2 = b1 A21 x1 + A22 x 2 b2 x1 libre, x2 0

T Max b1T u1 + b2 u 2

sujeto a : Tiene como dual a


T T A11u1 + A21u 2 = c1 T T A12 u1 + A22 u 2 c 2

u1 libre, u2 0

2.7.3 Forma standard


Para la resolucin numrica de problemas de PL se usa la llamada forma standard:
Min c T x ( PLs ) sujeto a : Ax = b x0 (b 0)

En la forma standard se asume que b 0. Si esta condicin no se cumpliera en algn caso particular, basta multiplicar por 1 las ecuaciones que tienen signo negativo en b.

2.7.4 Transformaciones entre distintas formas


a) de restricciones de desigualdad a restricciones de igualdad Una desigualdad puede llevarse a una igualdad introduciendo una nueva variable no negativa, llamada variable de holgura.
n

La restriccin
j=1

a ijx j bi se transforma en una restriccin de igualdad, y se agrega una

condicin de positividad:
n j =1

aij x j + y = bi

y0 As, con la ayuda de variables de hogura, se llevan a la forma standard los problemas expresados en forma cannica.

38

Introduccin a la Investigacin de Operaciones

Min c T x

Min c T x

El problema ( PLc )

sujeto a : Ax b x0

es equivalente a ( P)

sujeto a : Ax y = b x, y 0

b) de restricciones de igualdad a restricciones de desigualdad El sistema de ecuaciones Ax = b puede ser fcilmente transformado en dos desigualdades: Ax b Ax b o bien: Ax b Ax b

c) de variables libres a variables con restriccin de signo El mtodo simplex puede ser aplicado con variables libres. Una variable libre puede, de todas formas, ser transformada en una variable con restriccin de signo si se la escribe como diferencia entre dos variables positivas: x = x+ x , x + , x 0.

2.7.5 Mtodo Simplex


Considrese el siguiente problema en su forma standard: Min z = c T x ( PLs ) sujeto a : Ax = b x 0 (x n ) Las soluciones del sistema de ecuaciones Ax = b estn contenidas en un hiperplano de n, en el cual adems estn presentes las restricciones de positividad x 0.
x =0 i b -c

a xk =0 x| Ax =b

Si A mn es de rango completo, es decir: sus filas son linealmente independientes, entonces el hiperplano {x | Ax = b} tiene dimensin nm. Si se conoce una solucin factible (p. ej.: a), se busca una solucin factible mejor en la direccin negativa del gradiente de z, para minimizar la funcin objetivo. Hay dos formas de atacar este problema:

39

Introduccin a la Investigacin de Operaciones

a) proyectar c en el hiperplano {x | Ax = b} y moverse en la direccin proyectada. b) resolver m variables con la ayuda de la ecuacin Ax = b y expresarlas con la ayuda de las restantes nm variables. El mtodo simplex utiliza la segunda variante. Sean las primeras m variables las que se expresan con la ayuda de las dems. La ecuacin Ax = b se puede escribir como ABxB + ANxN = b donde xB m contiene las m primeras componentes de x, xN nm contiene a las nm restantes. La matriz AB mm contiene las primeras m columnas de A, en tanto que AN m(nm) contiene a las restantes. Si AB mm tiene rango completo, se la puede invertir (lo cual constituye una condicin para poder calcular xB). Asumiendo que AB es invertible, se obtiene la siguiente expresin:
x B + AB1 AN x N = AB1b

y luego se expresa xB como funcin de xN:


x B = AB1b AB1 AN x N

Variando libremente xN, se obtiene a partir de la expresin precedente un valor de xB 1 que hace que se satisfaga la condicin Ax = b. Si se elige xN = 0 se obtiene x B = AB b , ste tipo de soluciones se llama solucin bsica. La matriz AB es la correspondiente matriz bsica (porque sus columnas forman una base de m). Las componentes de xB se llaman variables bsicas, y las de xN: 1 variables no bsicas. La solucin bsica x B = AB b , xN = 0, es factible si x 0, es decir, si xB 0. Las soluciones bsicas factibles se corresponden con los vrtices (puntos extremos) de la regin de soluciones factibles. Se puede eliminar xB de la funcin objetivo. Se comienza por expresar el vector cT n como cT = ( cT , cT ) , se obtiene as la siguiente forma de la funcin objetivo: B N
z = cT x B + cT x B B N
= c T AB1b c T AB1 AN x N + c T x N B B N = ( c T c T AB1 AN ) x N + cT AB1b N B B T = cN xN + z

En la solucin bsica xN = 0 y z = z . se llama costo reducido. El costo reducido indica como vara la funcin objetivo al variar xN, dos trminos componen el costo reducido: c T indica la N
T 1 c N = c T c T AB AN N B

40

Introduccin a la Investigacin de Operaciones


incidencia directa de xN sobre la funcin objetivo, en tanto que c T AB1 AN refleja la B influencia indirecta de xN a travs de las variaciones que provoca en xB.

Definiendo AN = AB1 AN y b = AB1b se puede reescribir el problema de PL en su forma standard del siguiente modo:

T Min z = c N x N + z = z +

jN

cjxj

( PL s ) sujeto a : x B = b AN x N x B , x N 0.

La solucin bsica correspondiente es ( x B , x N ) = ( b , 0) . Supngase que dicha solucin bsica es factible, es decir: b 0 . Si alguna componente de c N , por ejemplo c j , es negativa, se obtendr un valor mejor de la funcin objetivo incrementando xj desde su valor nulo actual. Si slo aumenta xj, el incremento en xB se calcula como x B = b a jx j donde a j es la columna correspondiente a xj en AN . Esta solucin es factible si xB 0, a continuacin se estudian las condiciones que deben cumplirse para asegurar la factibilidad. La ecuacin x B = b a jx j expresada por componentes queda: ( x B )i = bi a ijx j .. Si a ij 0 , entonces (xB)i no decrece al aumentar xj. En consecuencia el cumplimiento de la restriccin (xB)i 0 no est condicionado por la variacin de xj. Si a ij > 0 , entonces (xB)i disminuye al aumentar xj, y se hace cero cuando x j = b j a ij En consecuencia, la solucin es factible si las variaciones de xj cumplen que: x j Min i {bi aij | aij > 0}. Cuando x j = Min i { i aij | aij > 0}, una de las variables bsicas se hace cero (la o las b variables bsicas para las cuales se obtiene el mnimo), lo cual equivale a haberse desplazado hacia un vrtice adyacente al de partida en la representacin geomtrica del problema (p. ej. el punto b de la figura). Es adecuado entonces realizar un cambio de sistema de coordenadas en el hiperplano {x | Ax = b}, xj es ahora mayor que cero y se convierte en variable bsica, al tiempo que la variable bsica que tom el valor cero se hace no bsica. Esta es la esencia del funcionamiento del mtodo simplex, que fuera desarrollado por G.B. Dantzig a fines de los 40. El mtodo se basa en que una solucin factible dada puede ser mejorada si alguna componente de c N es negativa. El siguiente teorema indica lo que sucede cuando c N 0 .

41

Introduccin a la Investigacin de Operaciones

Teorema 16

Si en el problema (PLs) se cumple que b 0 y adems c N 0 , entonces la solucin bsica correspondiente es ptima.
Prueba:

Se demostrar a travs de relajaciones, utilizando el Corolario 1.1. El problema (PLs) es el mismo que ( PLs ) aunque expresado en forma distinta. Se obtiene una relajacin de ( PLs ) ignorando la restriccin x B = b AN x N , el problema relajado es:
T Min z = z + c N x N = z + x j x N

cjxj

( PL sr ) sujeto a : xB , xN 0

( x B , x N ) = ( b , 0) es una solucin ptima de ( PLsr ), porque c j 0 y adems se puede minimizar por separado en ( PLsr ). ( x B , x N ) = ( b , 0) es una solucin factible de ( PLs ) por ser xN = 0, y b 0 . ( x B , x N ) = ( b , 0) da el mismo valor de la funcin objetivo en ( PLs ) y en ( PLsr ), porque ambos problemas tienen la misma funcin objetivo. En consecuencia, ( x B , x N ) = ( b , 0) cumple todas las condiciones del Corolario 1.1, y por lo tanto es solucin ptima de ( PLs ) , luego: es solucin ptima de (PLs).
Estructura bsica del mtodo simplex

1. Tomar una solucin bsica factible. 2. Transformar el problema a la forma ( PLs ) resolviendo las variables bsicas. 3. Si c j 0 j FIN: se hall una solucin ptima. 4. Si algn c j < 0 , aumentar xj hasta que algn (xB)i = 0. Se obtiene en ese caso una nueva solucin bsica. Volver al paso 2.
Forma tableau del mtodo simplex

Se acostumbra exponer los clculos manuales en una tabla (que puede ser fcilmente implementada en una computadora). Se explicar el uso a travs de un ejemplo:

42

Introduccin a la Investigacin de Operaciones

Max 2 x1 + 3x 2 sujeto a : x1 + x 2 2 x1 + 2 x 2 3 x1 , x 2 0

El problema puede ser representado en la figura siguiente:

x2 2

4 3

1 1

2 2 3 x1

La regin factible es el contorno delimitado por los vrtices (1), (2), (3) y (4). Las lneas punteadas son la curvas de nivel de la funcin objetivo. La solucin ptima se encuentra en el vrtice (3). Se hallar dicha solucin por el mtodo simplex. Se introducen en primer lugar las variables de holgura x 3 y x 4 para llevar el problema a la forma standard. Tambin se cambia el signo a la funcin objetivo para obtener un problema de minimizacin:

Min 2 x1 3x2 sujeto a : x1 + x2 + x3 = 2 x1 + 2 x 2 + x4 = 3 xi 0, i = 1, O en forma matricial: Min (2,3,0,0) x sujeto a : 1 1 1 0 2 x= 1 2 0 1 3 x 0 x 4 ,4

43

Introduccin a la Investigacin de Operaciones

Ntese que las variables de holgura x 3 y x 4 son variables bsicas adecuadas: estn expresas en funcin de las otras variables, y estn eliminadas de la funcin objetivo.
x3 = 2 x1 x 2 x 4 = 3 x1 2 x2

El sistema de ecuaciones, en forma tableau, tiene la representacin siguiente: x1 x2 x3 x4 b 1 1 1 0 2 1 2 0 1 3 2 3 0 0 0 El tableau tiene la siguiente forma A cT b . 0

Las variables bsicas ya estn resueltas, el tableau corresponde tambin al problema transformado ( PLs ) . Los puntos debajo de las columnas 3 y 4 indican que las variables x3 y x4 son bsicas. La solucin bsica correspondiente se obtiene asignando el valor cero a las variables no bsicas (x1, x2). Por lo tanto, la solucin bsica es: x1 = 0, x2 = 0, x3 = 2, x4 = 3. Esta solucin corresponde al vrtice (1) en la figura. La ltima lnea del tableau muestra los costos reducidos. Debido a que c1 < 0 y c2 < 0 , vale la pena aumentar x1 o x2, como c 2 es el ms negativo, conviene elegir x2 como nueva variable bsica. El valor sombreado es aquel para el cual se obtiene el Min i {bi aij | aij > 0} El sistema de ecuaciones, canonizando la columna correspondiente a x2, toma la forma: x1 X2 x3 x4 b 1/2 0 1 -1/2 1/2 1/2 1 0 1/2 3/2 -1/2 0 0 3/2 9/2 Puesto que slo c1 < 0 , conviene elegir x1 como variable bsica, obteniendo: x1 x2 x3 x4 b 1 0 2 -1 1 0 1 -1 0 1 0 0 1 1 5 Se ha obtenido una solucin ptima, pues c j > 0, j . Dicha solucin ptima tiene las variables no bsicas igualadas a cero y las variables bsicas iguales a b : x1 = 1, x2 = 1, x3 = 0, x4 = 0.

44

Introduccin a la Investigacin de Operaciones

Mtodo simplex, espacio de soluciones no acotado

Cuando cj < 0, la variable no bsica xj correspondiente puede aumentar hasta hacer que alguna variable bsica alcance el valor cero. Si ocurre que aij 0 i, ninguna variable bsica disminuye su valor al aumentar xj, obtenindose soluciones factibles para cualquier valor (positivo) de xj. Adems, como cj < 0, la funcin objetivo disminuye con el aumento de xj, de modo que decrecer hacia cuando xj aumente hacia +. En estas condiciones se tiene un valor ptimo no acotado, en un dominio infinito de soluciones factibles. El ejemplo siguiente ilustra estos conceptos. Max x1 + x 2 sujeto a : x1 x 2 1 x2 x1 1 x1 , x 2 0 La regin factible es la de la figura siguiente:
2 1 3 1 2 1 2

Introduciendo las variables de holgura x3 y x4, y cambiando el signo de la funcin objetivo, el problema adquiere la siguiente forma:
Min x1 x 2 sujeto a : x1 x2 + x3 = 1 x1 + x2 + x 4 = 1 xj 0

x3 y x4 son variables bsicas adecuadas y el tableau es el siguiente: x1 x2 x3 x4 b 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0

45

Introduccin a la Investigacin de Operaciones

La solucin bsica correspondiente es x1 = 0, x2 = 0, x3 = 1, x4 = 1, que corresponde al punto 1 de la figura. x1 y x2 tienen el mismo costo reducido negativo, se decide intoducir x1 como nueva variable bsica. xi (bsica) correspondiente al Min {bi ai1 ai1 0} = Min{11 ,} , lo cual ocurre en la fila 1. El elemento a11 se llama pivot y se utiliza para reformular el sistema de ecuaciones de modo que la columna correspondiente a x1 sea cannica. Se obtiene el siguiente tableau: x1 1 0 0 x2 1 0 2 x3 1 1 1 x4 0 1 0 b 1 2 1 La variable saliente es la

La solucin bsica correspondiente es x1 = 1, x2 = 0, x3 = 0, x4 = 2, que es el punto 2 de la figura. En este caso slo x2 tiene costo reducido negativo y en consecuencia es la nica candidata a ser variable bsica. La variable saliente se halla a partir de Min bi ai 2 ai 2 > 0 = Min{ ,} = , es decir que ninguna variable bsica limita el

crecimiento de x2 por lo que se tiene un valor ptimo no acotado. Se observa en la figura que eligiendo la arista [2, ) se puede obtener valores arbitrariamente altos de la funcin objetivo. A modo de resumen de los dos ltimos captulos se presenta el siguiente diagrama de flujo del mtodo simplex:
Dado un tableau reducido con solucin bsica factible

NO Hay variable x con c j < 0 j SI x entra en la base j FIN: solucin bsica optimal

Hay a

kj

>0?

NO

FIN: valor ptimo no acotado

SI

Determinar la variable bsica saliente de acuerdo con b k /a kj a = Min { b kj i /a ij ,a ij > 0}

Por pivotacin en el elemento

se obtiene el nuevo tableau

Mtodo simplex terminacin

46

Introduccin a la Investigacin de Operaciones

Hasta ahora se han discutido dos criterios de parada del mtodo simplex: Si c 0 se ha alcanzado una solucin ptima. Si para todo c j < 0 ocurre que aij 0, i se puede afirmar que no hay valor optimal acotado (ni solucin ptima. La pregunta es: debe darse, necesariamente, alguno de estos dos casos? Sea xj (con c j < 0 ) una variable no bsica, que ha sido seleccionada para ingresar a la nueva base. Se introducir xj en sustitucin de aquella variable bsica xi para la cual se alcanza el Min b j aij aij > 0 . Cuando dicho mnimo se alcanza para dos o ms variables bsicas simultneamente, se dice estar ante un caso de degeneracin. Ya sea que haya o no degeneracin, el incremento en la variable xj es x j = Min bi a ij a ij > 0 0 , y la funcin objetivo decrece z = c j x j 0 . Una

{ {

} }

variable bsica decrece hasta hacerse nula, y si hay degeneracin una o ms variables bsicas continan sindolo, pero con valor cero. Si hay degeneracin, en alguna iteracin podra ocurrir que x j = Min bi a ij a ij > 0 = 0 y por lo tanto: z = 0 , es decir que el valor de la funcin objetivo no cambiara al cambiar de base. En estas condiciones no se puede asegurar que el mtodo no retornar a un vrtice ya analizado. Si esto ltimo ocurriera (el retorno a una solucin ya analizada) se estara ante la presencia de un fenmeno llamado cycling, que obstruye la terminacin del mtodo en tiempo finito. Existen estrategias anticycling para lograr que el mtodo simplex termine en tiempo finito, sin embargo, debido a que el cycling casi nunca sucede en la prctica, estas finezas no suelen estar implementadas en los programas comerciales. Si no hay degeneracin, en cada paso del mtodo simplex se obtiene una solucin factible cuyo costo es estrictamente menor que el de las anteriores, por lo tanto no se puede retornar a una solucin ya analizada. Adems el mtodo es finito, porque en n cada paso se eligen m variables bsicas entre n posibles, hay Cm formas de hacerlo (aunque no todas ellas dan soluciones factibles). Por este motivo se puede afirmar que existe un nmero finito de soluciones bsicas, y en consecuencia: si no hay degeneracin el mtodo simplex llega en una cantidad limitada de pasos a una de las dos alternativas planteadas al principio. La cantidad de iteraciones requeridas para resolver un problema por el mtodo simplex crece linealmente con el nmero de restricciones, mientras que el trabajo requerido en cada iteracin crece aproximadamente con el cuadrado del nmero de restricciones.
Fase I - Encontrar una solucin factible

Segn lo visto hasta ahora, el mtodo simplex comienza en una solucin bsica factible. A continuacin se investiga el problema de obtener dicha solucin factible inicial.

47

Introduccin a la Investigacin de Operaciones

Supngase que se busca una solucin factible en el espacio de soluciones: (E) Ax = b 0 x0

Este problema se puede resolver con la ayuda del mtodo simplex. Se introduce en primer lugar un conjunto de variables artificiales y 0, que miden la diferencia entre el lado derecho y el izquierdo de la ecuacin (en una solucin factible estas variables debern ser nulas). Se obtiene el siguiente sistema de ecuaciones: ( E ) Ax + y = b x, y 0

Para el sistema ( E ) se obtiene fcilmente la solucin bsica factible y = b, x = 0. En cambio, una solucin factible de (E) deber tener y = 0. Para obtenerla se resuelve el siguiente problema de PL, llamado fase I, el cual se puede resolver con el mtodo simplex porque se tiene una solucin bsica inicial factible.
m

Min
i =1

yi

( LP1 ) sujeto a : Ax + y = b x, y 0
Teorema:

(LP1) tiene siempre un valor ptimo finito 0, dado por el mtodo simplex. Si dicho valor ptimo es estrictamente mayor que cero, entonces (E) no tiene soluciones factibles. Si el valor ptimo de (LP1) es igual a cero, entonces (E) tiene soluciones factibles y el mtodo simplex brinda una de ellas.
Prueba:

Si el valor ptimo de (LP1) es estrictamente mayor que cero, siempre existe por lo menos una yi > 0, por lo tanto: ( Ax ) i = bi yi bi y en consecuencia no existen soluciones factibles de (E). Si el valor ptimo de (LP1) es igual a cero: yi = 0 , como adems y 0 se concluye que y = 0 y la solucin ptima de (LP1) es factible para (E).

En resumen, el mtodo simplex funciona del siguiente modo: En primer lugar, si es necesario, se aplica la fase I para encontrar una primera solucin factible. A partir de dicha solucin bsica, se aplica la segunda fase, optimizando la funcin objetivo original.

48

Introduccin a la Investigacin de Operaciones

El ejemplo siguiente ilustra el mtodo: Min 3x1 + 2 x 2 sujeto a : x1 + x 2 2 x1 + 2 x 2 3 x1 , x 2 0 Este problema se representa grficamente en la figura que sigue:
x

En primer lugar se agregan las variables de holgura x3 y x4 que permiten llevar el problema a la forma standard, obteniendo el siguiente tableau: x1 x2 x3 x4 b 1 1 -1 0 2 1 2 0 -1 3 3 2 0 0 0 Puesto que no hay ninguna base por la cual sea intuitivo comenzar, se introducen las variables artificiales y1 e y2. En la fase I se minimiza y1 + y2, lo cual arroja el siguiente tableau: x1 x2 x3 x4 y1 y2 b 1 1 -1 0 1 0 2 1 2 0 -1 0 1 3 3 2 0 0 0 0 0 0 0 0 0 1 1 0 La ltima fila es la funcin objetivo de la fase I, en tanto que la tercera fila es la funcin objetivo original, que ser minimizada en la segunda fase de la resolucin. Para la primera fase y1 e y2 son variables bsicas adecuadas para comenzar la resolucin de la primera fase. Sustrayendo de la fila 4 las filas 1 y 2 se obtiene:

49

Introduccin a la Investigacin de Operaciones

x1 1 1 3 -2

x2 1 2 2 -3

x3 -1 0 0 1

x4 0 -1 0 1

y1 1 0 0 0

y2 0 1 0 0

b 2 3 0 -5

La solucin bsica correspondiente es y1 = 2, y2 = 3, y las dems variables iguales a cero. En esta solucin c1 < 0 y c2 < 0 se puede elegir tanto x1 como x2 para ser ingresada en la nueva base, sea x1 la variable seleccionada. La variable saliente se determina de

acuerdo a Min {bi ai1 ai1 > 0} = Min {2 1, 3 1} = 2 , lo cual ocurre en la primera fila. Se canoniza el sistema de ecuaciones tomando como elemento cannico el a11, obteniendo el siguiente tableau: x1 x2 x3 x4 y1 y2 b 1 1 -1 0 1 0 2 0 1 1 -1 -1 1 1 0 -1 3 0 -3 0 -6 0 -1 -1 1 2 0 -1

La solucin bsica es x1 = 2, y2 = 1, las dems variables iguales a cero. Se elige introducir la variable x2, por lo que el elemento pivot para la canonizacin del sistema sera el a22. x1 1 0 0 0 x2 0 1 0 0 x3 -2 1 4 0 x4 1 -1 -1 0 y1 2 -1 -4 1 y2 -1 1 1 1 b 1 1 -5 0

Llegado este punto de la resolucin se tiene x1 = 1, x2 = 1, y el resto de las variables iguales a cero. Como y1 e y2 son iguales a cero, se ha alcanzado una solucin factible del problema original y comienza la solucin de la fase II. La lnea de costos de la funcin objetivo del problema auxiliar ya no interesa, por lo cual se la elimina del sistema, y la lnea de costos pasa a ser la tercera fila (costos de la funcin objetivo del problema original), tampoco interesan las columnas correspondientes a las variables artificiales:

50

Introduccin a la Investigacin de Operaciones

x1 1 0 0

x2 0 1 0

x3 -2 1 4

x4 1 -1 -1

b 1 1 -5

Tomando como pivot el elemento a14, se obtiene el siguiente tableau: x1 x2 x3 x4 b 1 0 -2 1 1 1 1 -1 0 2 1 0 2 0 -4 Como ahora c 0 se ha llegado al ptimo. La solucin es x1=0, x2=2, x3=0, x4=1. La estructura del mtodo simplex puede ahora ser resumida del siguiente modo:

Introducir variables artificiales y/o de holgura en caso de necesidad

Hay variables artificiales?

SI

Resolver el problema Fase I

SI NO

es el valor ptimo = 0? NO FIN: el problema no tiene solucin factible

Resolver el problema Fase II

Interpretacin del tableau del simplex

Se analizar el tableau simplex en el cual las xB son variables bsicas. Supngase que fueron introducidas variables artificiales, y que las columnas fueron ordenadas de modo que las variables xB estn todas al principio. Al comienzo de la fase I el tableau tiene la forma siguiente:
xB AB c
T B

xN AN c
T N

y I b 0 0

Una vez canonizado el sistema, el tableau cobra la siguiente forma:


xB I T cB xN AN T cN y I c yT b 0

51

Introduccin a la Investigacin de Operaciones

Las operaciones que se realizan para obtener una fila a partir de la anterior corresponden a haber multiplicado desde la izquierda con cierta matriz M que se determinar:
MA B = I
M = IAB1 M = AB1

por lo tanto:

1 AN = MA N = AB AN , cosa que

ya se saba.

I = MI = AB1 I = AB1 1 b = Mb = AB b , lo cual

tambin se saba.

La lnea transformada de costos se obtuvo sustrayndole en forma sucesiva mltiplos de otras lneas. Por lo tanto, es vlido para cierto vector de multiplicadores , que c T = c T T A . La lnea de costos reducidos transformados es:
T T ( cB T AB ) ( c N T AN ) ( 0 T I ) ( 0 T b )

Se acostumbra llamar multiplicadores simplex a las componentes de .


T Debido a que cB = 0 se cumple que: T cB = T AB T T T = c B AB

T T T 1 c N = c N cB AB AN T c y = 0 T I = T = cB AB1 T T 0 T b = cB AB1b = cB b = z

= valor actual de la funcin objetivo.

El tableau transformado se ve ahora de la siguiente forma:


xB I 0 xN y ( AN = AB1 AN ) AB1 b = AB 1b T T ( c N = c T T AN ) ( T = cB AB1 ) ( z = T b ) N

Costos reducidos y multiplicadores simplex

Se acaba de comprobar que el vector de multiplicadores simplex satisface las siguientes igualdades:
T T = cB AB 1
T c N = c T T AN N

T cB = T AB

Por lo tanto, el costo reducido c j de xj se puede escribir como c j = c j T a j , siendo aj la j sima columna de la matriz A. Esto significa que con la ayuda de los multiplicadores simplex se pueden hallar los costos reducidos de las variables, que no estaban en la formulacin original del problema. Esta observacin es de fundamental importancia en el uso avanzado de la programacin lineal.
Soluciones duales y relacin entre primal y dual

El problema dual de un problema de progamacin lineal expresado en forma standard (LPS) es:

52

Introduccin a la Investigacin de Operaciones

Max b T u ( LDS ) sujeto a : AT u c

Ya fue demostrado que las variables u son los multiplicadores de Lagrange. A continuacin se investiga la relacin entre los multiplicadores simplex y el problema dual. Supngase que (LPS) ha sido resuelto hasta su ptimo y que xB son las variables bsicas.
T La exigencia de optimalidad de (LPS) es c N 0 , es decir: c T T AN 0 que por medio N T de una trasposicin queda c N AN .

Por otra parte, la restriccin impuesta a la variable dual es c A T u , lo cual implica que T T cB AB u y que c N AN u . Por lo tanto, si se cumple la condicin de optimalidad, los multiplicadores simplex constituyen una solucin factible del problema dual, ya que adems cumplen
T cB = AB T c B AB

sera adems una solucin ptima del problema dual si arrojase el mismo valor de la funcin objetivo que la solucin ptima del problema primal.
T T El valor ptimo de la funcin objetivo del problema primal es z = cB b = cB AB1b . El valor de la funcin objetivo del problema dual evaluada en u = es: b T , que se

T puede escribir: b T = b T (AB ) c B = c T AB 1b = z . B

Por lo tanto: los multiplicadores simplex correspondientes a la solucin ptima del problema primal, constituyen una solucin ptima del problema dual. Se acaba de demostrar el siguiente:
Teorema:
1 Sea x B = AB b , x N = 0 solucin bsica ptima del simplex (o sea c 0 ) para un problema de programacin lineal expresado en forma standard:

Min c T x sujeto a : ( LPS ) Ax = b x0


T 1 Entonces T = cB AB (el vector de multiplicadores simplex) es una solucin ptima del problema dual; adems, los valores ptimos de ambos problemas coinciden.

Se vern a continuacin algunas relaciones entre casos particulares de problemas primal y dual: Cuando el problema primal se resuelve aplicando el mtodo simplex puede ocurrir cualquiera de los casos siguientes:

53

Introduccin a la Investigacin de Operaciones

1 la fase I da un valor ptimo > 0, es decir que el problema no tiene soluciones factibles. 2 la fase I da un valor ptimo = 0 y la fase II da un ptimo finito. 3 la fase I da un valor ptimo = 0 y la fase II indica un valor ptimo no acotado. Puesto que el dual es un problema de programacin lineal, estos casos pueden darse tambin en el problema dual Si en el primal ocurre (3), el problema dual no puede tener soluciones factibles, por lo tanto, en el dual ocurre (1). Anlogamente, si en el dual ocurre (3) en el primal ocurre (1). Si en el primal ocurre (2), tambin ocurre (2) en el dual. Por simetra, si ocurre (2) en el dual, ocurre (2) tambin en el primal. Queda por estudiar la posibilidad de que ocurra (1) en ambos problemas. El siguiente es un ejemplo de que sta posibilidad es cierta: Min x2 sujeto a : ( PL) x1 x 2 1
x1 + x 2 0

x1 , x2 0 Este problema tiene una regin factible vaca, su dual tiene la forma: Max u1 sujeto a : ( PD) u1 u 2 0
u1 + u 2 1

u1 , u 2 0 y tampoco tiene soluciones factibles. El cuadro siguiente resume estas afirmaciones, se indican sombreadas las combinaciones imposibles. dual (1) primal (1) primal (2) primal (3) dual (2) dual (3)

54

Introduccin a la Investigacin de Operaciones

3. GRAFOS 3.1 Introduccin


El nacimiento del concepto GRAFOS se puede situar, por el ao 1730, cuando Euler (matemtico) se convirti en el padre de la Teora de Grafos al modelar un famoso problema no resuelto, llamado el "problema de los puentes de Knigsberg". Un ro con dos islas atraviesa la ciudad. Las islas estan unidas, entre si y con las orillas, a travs de siete puentes. El problema consista en establecer un recorrido que pasara una y solo una vez por cada uno de los siete puentes, partiendo de cualquier punto y regresando al mismo lugar. Para probar que no era posible, Euler sustituy cada zona de partida por un punto y cada puente por un arco, creando as un grafo, el primer grafo, diseado para resolver un problema. Mostrar que el problema no tiene solucin equivale a mostrar que el grafo no puede ser recorrido segn criterios determinados. Problema genrico: dado un grafo (con mltiples lneas entre pares de puntos) encontrar un camino que recorra el grafo pasando por cada arista exactamente una vez.
A

Solucin: El grafo debe se conexo, y en cada punto deben incidir un nmero par de lneas. Esta condicin es suficiente para definir lo que se llama un ciclo euleriano. A partir de Euler el modelado mediante grafos fue desarrollando esta metodologa hasta convertirse en la actualidad, en una herrramienta de trabajo para ciencias tan diferentes como la Fsica, la Qumica, la Sicosociologa, la Economa, la Lingstica, etc. La teora de grafos est ntimamente relacionada con varias ramas de la Matemticas como por ejemplo la Teora de Conjuntos, el Anlisis Numrico, Probabilidad, Topologa, etc. y es la base conceptual en el tratamiento de problemas combinatorios. La eficacia de los grafos se basa en su gran podero de abstraccin y la muy clara representacin de cualquier relacin (de orden, precendencia, etc) lo que facilita enormemente tanto la fase de modelado como de resolucin del problema. Gracias a la Teora de Grafos se han desarrollado una gran variedad de algoritmos y mtodos de resolucin eficaces que nos permiten tomar una mejor decisin . No se debe confundir el grafo con el sistema real al que est asociado. El grafo es una estructura que admitimos adecuada en lo concerniente a las propiedades que nos

55

Introduccin a la Investigacin de Operaciones

interesan, donde luego aplicamos las deducciones y reglas matemticas para obtener datos y poder decidir. Una aplicacin frecuente de la teora de grafos es la del mtodo de camino hamiltoniano ptimo para decidir el camino a seguir por un cobrador, de tal modo de economizar sus energas, las suelas de sus zapatos y su bolsillo. El objetivo es hallar un camino que pase por todos las casas una y solo una vez y que nos de el costo menor en distancia. Dicho de otro modo, se deben buscar las permutaciones de las casas de forma tal que la distancia recorrida total sea mnima. Se conoce la distancia entre cada par de casas, segn si las calles son flechadas o no se orientarn o no las conexiones entre pares de casas. Obsrvese que si se hicieran todas las permutaciones, suponiendo un caso muy reducido de diez casas, se tendran ms de 3 millones de permutaciones (10!). Si cada casa es representada por un vrtice y cada camino entre par de casas por una arista ponderada por la distancia mnima entre pares de casas, tendremos un grafo completo y simtrico (cuando no hay calles flechadas). El problema se reduce entonces, a obtener un camino hamiltoniano ptimo. Todo algoritmo conocido para encontrar ciclos hamiltonianos requiere al menos un tiempo exponencial de clculo, o factorial en el peor de los casos. Otro ejemplo para el que grafos provee un natural modelo matemtico : Supongamos que el siguiente grafo representa una red de lneas de telfonos (o de comunicaciones). Estamos interesados en la vulnerabilidad respecto a interrupciones accidentales. b e Problema 1: identificar esas lneas y centros de conecciones que deben permanecer en servicio para evitar la desconeccin de la red. No existe ninguna lnea que eliminada a desconecte el grafo (red), pero hay un vrtice, d el vrtice d, cuya desaparicin (ruptura) desconecta el grafo. f c
Problema 2: encontrar un conjunto minimal de aristas necesarias para conectar los 6 vrtices. Hay varios conjuntos mnimos posibles. Uno de ellos es el conjunto minimal: {(a,b),(b,c),(c,d),(d,e),(d,f)}.

Podemos enunciar el siguiente resultado general: dado un grafo G de n vrtices, el conjunto mnimo de conexin de G (si existe) siempre tiene n1 aristas.

56

Introduccin a la Investigacin de Operaciones

3.2 Definiciones Basicas


Grafo: Un grafo G es una dupla G = (X, U), donde X es un conjunto finito y no vaco de elementos llamados vrtices y U es el conjunto cuyos elementos se componen de subconjuntos de X de cardinalidad dos (2), llamados aristas.

Los vrtices de X se llaman usualmente x1, x2, x3,..., xn y se representan como puntos, las aristas u1, u2, u3,..., um se dibujan como lneas.
Grafo orientado: Un grafo G* es orientado, cuando sus aristas tienen asignadas direcciones, o sea cuando existe una relacin de precedencia entre los elementos. Sus puntos se llaman nodos, y sus lneas arcos. En estos casos U es una familia de pares ordenados resultantes del producto cartesiano de X. U XxX = { ui = (xk,xj): 1 i |U|, 1 j, k |X|, xk, xj X}

Ejemplo: G* = ({x1,x2,x3}, {(x1,x2), (x3,x1), (x3,x2)}) .

x2

x1 En realidad, no existen dos especies de grafos, orientados y no orientados, sino que todos los grafos son orientados, pero por x3 razones conceptuales, es poco cmodo considerar las lneas orientadas para los problemas de naturaleza no orientada. Cada vez que apliquemos un concepto orientado en un grafo G = (X,U) ese concepto deber ser considerado como aplicable de hecho, en un grafo orientado G* al que le corresponde la orientacin en los dos sentidos de cada arista.
Orden es el nmero de vrtices del grafo, el cardinal del conjunto X de vrtices: |X| Arcos incidentes a un nodo Si un vrtice x es extremidad inicial de un arco u = (x,y) y x y, diremos que el arco es incidente a x hacia el exterior. I+(x)={y / (x,y) U}. I-(x)={y / (y,x) U}

El nmero de los arcos incidentes hacia el exterior se llama semigrado exterior de x y se nota d+(x) = |I+(x)| De igual forma se define arco incidente a x hacia el interior y semigrado interior de x. Este ltimo se nota como d-(x) = |I-(x)|.
Grado de x, es la suma del semigrado exterior e interior de x. O sea, es el nmero de arcos con una extremidad en x.

d(x) = d+(x) + d-(x) Si todos los vrtices tienen el mismo grado, el grafo al que pertenecen se llama grafo regular.

57

Introduccin a la Investigacin de Operaciones

3.2.1 Recorrido de grafos.


Cadena (concepto no orientado): Es una secuencia de aristas de G, tal que cada arista de la secuencia tiene un extremo comn con el arco precedente y otra con el siguiente. Largo de una cadena, es el nmero de aristas de la secuencia. Cadena elemental, es aquella que no repite vrtices. Cadena simple, es aquella que no repite aristas. Camino (concepto orientado) Es una cadena = {u1, u2,..., uq} en la que para todo ui (con i < q) el extremo terminal de ui coincide con el extremo inicial de ui+1.

Las definiciones de largo de un camino, camino elemental y camino simple son anlogas a las de cadenas, con la salvedad de la orientacin.
Sendero, es un camino elemental (que no repite nodos). Va, es un camino cuyos arcos se pueden recorrer en su sentido directo o contrario. Ejemplo: roblema del camino entre dos puntos. El siguiente es un ejemplo de como modelar una porcin del universo, su problemtica y como resolverla.

Supongamos que un hombre debe pasar a la otra orilla de un ro llevando consigo una oveja, un repollo y un lobo. El inconveniente que se le plantea es que slo puede cruzar con uno de ellos a la vez y sospecha que si deja solos a la oveja con la repollo con el lobo, la oveja se comer al repollo el lobo se comer a la oveja. Teniendo en cuenta estas restricciones, el sujeto dibuja sobre la arena de la orilla un grafo y aplicando alguna heurstica o algn algoritmo conocido, encuentra el camino que debe seguir para llegar a la otra orilla con su carga intacta. Utilice el siguiente procedimiento: 0) Dibuja el grafo: Existen 4 elementos que determinan las situaciones en cada orilla, ellos son: H Hombre C Repollo L Lobo O Oveja 1) Enumera las situaciones en una de las orillas comenzando por H,C,L,O. 2) Luego las ordena considerando: a) se encuentra el hombre en esa orilla o no: H vs noH. b) pasaje o secuencia de una situacin a otra. (obs. que no se puede pasar de una situacin en la que est el hombre a otra en la que tambin est) 3) Por ltimo busca en el grafo un camino del estado inicial al estado final.

58

Introduccin a la Investigacin de Operaciones

3.2.2 Clasificacion De Grafos


Multigrafo, es un grafo no orientado con mltiples aristas entre pares de nodos. Grafo simple, es un grafo sin bucles, sin mltiples aristas entre pares de vrtices. Grafo completo Para todo par de vrtices de G, existe por lo menos una arista que los une. Por lo tanto, un grafo completo de n vrtices es aquel que tiene sus n vrtices mutuamente adyacentes. n-clique, es un grafo completo simple de n vrtices. Se nota Kn.

K5
Subgrafo de G = (X,U) engendrado por el conjunto A X , es un grafo cuyos vrtices pertenecen al conjunto A y cuyas aristas son aquellas de G que tienen las dos extremidades en A. Grafo parcial de G = (X,U) engendrado por V U, es el grafo G' = (X,V) cuyos vrtices son los mismos de G y cuyas aristas son las que conforman el conjunto V U. Subgrafo parcial de G, es un subgrafo de un grafo parcial de G.

Grafo bipartito, es un grafo cuyo conjunto de vrtices puede ser particionado en dos clases X1 y X2 de tal forma que dos vrtices de la misma clase no sean jams adyacentes. Se nota G = (X1,X2,U)

X1 : conjunto personas X2 : conjunto profesiones

K2,3.

Grafo bipartito completo, es aquel en el que para todo elemento de X1 y todo elemento de X2 existe por lo menos un arco que los liga.

59

Introduccin a la Investigacin de Operaciones

Un grafo simple bipartito completo con p elementos en X1 y q elementos en X2 se nota Kp,q. Grafo Regular, es aquel en el que todos sus vrtices tienen el mismo grado.
Grafo Ponderado G = (X, U, W) donde (X, U,) es un grafo y W es una funcin W: U Z+ (Z+: enteros positivos) .

Si u U, w(u) es llamado el peso de la arista u. Estos pesos corresponden, segn la aplicacin, a costos, capacidades u otras propiedades de las aristas o arcos. Cuando se desea asignar valores negativos o reales a los pesos de las aristas, se debe tener especial cuidado en la eleccin de los algoritmos ya que la correctitud de los mismos puede depender de la restriccin a Z+.
Grafo Conexo, es aquel en el que para cada par de vrtices de G, existe una cadena que los une. En grafos orientados se definen 2 conceptos

a) Dbilmente conexo: si existe una cadena (sin tener en cuenta la orientacin) que une cada par de nodos distintos. b) Fuertemente conexo: si para cada par ordenado de nodos x e y, existe un camino que va de x a y. Una componente conexa de un grafo G, es un subgrafo de G engendrado por los vrtices que pueden unirse a un vrtice xi dado, mediante una cadena (puede ser todo el grafo G).

3.2.3 Ciclos y Circuitos


Ciclo, es una cadena simple, cuyos dos vrtices extremos, inicial y terminal, coinciden (no tiene en cuenta la orientacin).

Si queremos describir la orientacin en un ciclo designamos como: u+ = {ui : ui orientada en el sentido del ciclo} u- = {ui : ui orientada en el sentido contrario al ciclo}
Ciclo elemental, es un ciclo donde no se repite ningn vrtice (salvo el primero que coincide con el ltimo). Lo notamos uE = (u1,...,un). Propiedad 1: Todo ciclo uC es una suma de ciclos elementales sin aristas comunes. Propiedad 2: Un ciclo es elemental si y solo si es un ciclo minimal (es decir que no se pueden deducir otros ciclos por supresin de aristas).

60

Introduccin a la Investigacin de Operaciones Seudociclo, es una cadena donde los extremos coinciden pero que una misma arista puede figurar ms de una vez (tambin consecutivamente). Cociclo del conjunto de vrtices A, es el conjunto de aristas incidentes a A, del tipo I(A) no vaco y particionado en dos clases I+(A) y I-(A).

Ciclo Euleriano es aquel que incluye todas las aristas del grafo una sola vez, conteniendo cada vrtice por lo menos una vez. Cadena Euleriana, es aquella que recorre todas las aristas una sola vez ( = simple) tocando todos los vrtices del grafo.

Todo multigrafo que posee un ciclo Euleriano es conexo y todos sus vrtices tienen grado par .
a c d b e h k i j n o l m f g

A partir del siguiente ejemplo daremos una idea del mecanismo utilizado por Euler para demostrar que la conexidad y el grado par de todos los vrtices de un multigrafo, son condiciones necesarias y suficientes para garantizar la existencia de un ciclo Euleriano. Tenemos este grafo que es conexo y sus vrtices tienen grado par.

1) Primero se comienza por trazar un camino simple desde un vrtice, p. ej a. Supongamos que recorremos a-d-j-n-o-k-l-h-f-e-b-a. Volvimos a a.

a d j n k

b e f h l o

La propiedad del grado par, significa que siempre podemos abandonar cada vrtice al que entramos, exepto a. Es decir que cualquier cadena que trazemos desde a debe volver a a, formando un ciclo.

61

Introduccin a la Investigacin de Operaciones

d l g c 2) Las restantes aristas del grafo inicial , conforman un grafo no conexo, pero todos sus vrtices h mantienen el grado par, ya que al retirar el ciclo encontrado, se redujo cada grado en una cantidad par . j m i k Cada subgrafo conexo posee un ciclo Euleriano: d-c-i-j-k-e-d y h-g-m-h. 3) Estos dos ciclos pueden ser insertados en el ciclo encontrado en 2) en los vrtices comunes d y h respectivamente, originando un ciclo Euleriano a-d-c-i-j-k-e-d-j-n-o-kl-h-g-m-h-f-e-b-a, en el grafo original.
Teorema E.1: Un multigrafo (no orientado) G = (X,U) posee un ciclo Euleriano sii G es conexo y todos sus vrtices son de grado par.

Una Cadena Euleriana es una cadena que recorre todas las aristas del grafo una sola vez incluyendo todos los vrtices.
Corolario E.2: Un multigrafo posee una cadena Euleriana, sii es conexo y tiene exactamente dos vrtices de grado impar.

Se puede demostrar observando lo que sucede al agregarle una arista cuyas extremidades sean los dos vrtices de grado impar. El concepto de ciclo Euleriano es utilizado en la planificacin de redes de alta tensin entre varias ciudades.

3.2.4 Arboles y Algoritmos de Bsqueda


Refirindonos al concepto de grafo no orientado en el estudio de grafos finitos, se introduce el concepto de un tipo especial de grafo, usado en una vasta variedad de aplicaciones.
Arbol, es un grafo finito, conexo, sin ciclos y con por lo menos 2 vrtices .

Bosque, es un grafo donde cada componente conexa es un rbol, es decir es un conjunto de rboles no conexos entre s. Adems es un grafo sin ciclos por estar compuesto por rboles. Arborescencia, es un rbol dirigido con un nodo llamado raiz, tal que existe un nico camino desde la raiz a cualquier otro nodo del rbol. Ese camino es elemental y simple.

62

Introduccin a la Investigacin de Operaciones

Proposicin: Una arborecencia posee una sola raz.

Es importante notar que la definicin de arborecencia es vlida para un rbol no orientado, ya que, cualquier vrtice del rbol puede ser raz y adems un rbol no posee ciclos. Al determinar una raiz, se determina la existencia de una sola cadena que conecta la raiz con cada uno de todos los vrtices restantes. Entonces, un rbol lo puedo convertir en arborecencia tomando cualquier vrtice como raz y asignandole direcciones a las aristas desde el nodo raiz. Por lo tanto, designaremos como rbol, indistintamente a un rbol o arborecencia.
r r b b

La manera standard de dibujar una arborecencia es colocando la raiz a en la cima de la figura. As podemos definirle niveles a los vrtices del grafo ( la raiz tiene nivel 0 ). El nmero asignado al nivel de un vrtice x del rbol (T = (X,U)) corresponde al largo de la cadena (nico, elemental) que une a r con x. Se llama padre de un vrtice x, al vrtice y, prximo anterior a x en la cadena elemental y simple que va de la raiz a x, siendo x hijo de y dos vrtices con el mismo padre se llaman hermanos. La relacin padre-hijo se extiende a ascendiente y descendientes de un vrtice x. Adems cada vrtice x de T es la raiz de un subrbol de x y sus descendientes. Los vrtices sin hijos se llaman hojas, y todos los otros vrtices que tengan hijos se llaman vrtices internos de T. T se llama rbol m-ario, si cada vrtice interno del rbol (arborecencia) T tiene m hijos. En particular si m = 2, T es un rbol binario. Ejemplos:
m=2 m=3

Teorema T.1: Un rbol con n vrtices tiene n-1 aristas.

63

Introduccin a la Investigacin de Operaciones Altura de un rbol (o arborecencia), es el nmero de aristas del camino ms largo, es decir, el nmero de nivel ms alto de cualquier vrtice. Arbol balanceado, es aquel rbol de altura h, en el cual todas sus hojas se encuentran en el nivel h h-1. Ver el ejemplo anterior en el que la cantidad de comparaciones a realizar se minimiza.

Los rboles se utilizan tambin en muchas aplicaciones para verificar la conectividad, o la cantidad de ocurrencias de ciclos o subgrafos completos, en la bsqueda de esas propiedades o estructuras, muchos algoritmos utilizan lo que llamamos un esqueleto o rbol de cubrimiento.
Esqueleto o rbol de cubrimiento (spanning tree) de un grafo G: es un subgrafo que es un rbol y que contiene todos los vrtices de G.

El esqueleto de un grafo puede ser construido ya sea por Bsqueda Primero en Profundidad: BPP (depth -first search: DFS) o por Bsqueda Primero a lo Ancho: BPA (breadth-first-search: BFS).
Algoritmo de Bsqueda Primero en Profundidad

Sea G = (X,U) , x, v pertenecen al conjunto X DFS(x) Visite y marque x Mientras exista un vrtice v no marcado adyacente a x DFS(v) fin mientras fin

Usando BPP (o DFS) , se toma algn vrtice como raiz y se comienza a construir una cadena desde la raiz. La cadena contina hasta que no se puede continuar mas abajo sin repetir un vrtice que ya est en la cadena. El vrtice donde esa cadena debe terminar es una hoja. Entonces se vuelve atrs (backtrack), se retrocede un nivel al padre de esa hoja, y se trata de construir una cadena desde ese padre en otra direccin u otro vrtice no includo en la cadena anterior, y asi sucesivamente...
Algoritmo de Bsqueda Primero a lo Ancho

Sea G = (X,U) , x, v, s pertenecen al conjunto X, Q es una cola o lista FIFO.


BFS(x) Visite y marque x. Inserte x en Q Mientras Q no est vaca realice Saco el primer elemento s de Q Para cada vrtice v no marcado adyacente a s visite y marque v inserte v en Q fin para fin mientras fin

64

Introduccin a la Investigacin de Operaciones

Usando BPA ( o BFS), se toma cualquier vrtice x como raz, insertando en la cadena todas las aristas incidentes a ese x. Luego, sucesivamente, se van agregando las aristas incidentes a los nodos adyacentes a x ,siempre que no estn incluidos en la cadena que estamos construyendo, hasta que todos los nodos hayan sido visitados . Es importante notar que si el grafo no es conexo, entonces no existe ningun esqueleto que lo recorra.
Algoritmo para verificar que un grafo es conexo 1) Use BPP ( o BPA) para tratar de construir un esqueleto del grafo. 2) Si todos los vrtices del rbol son alcanzados en la bsqueda, entonces se ha encontrado un esqueleto del grafo y por lo tanto el grafo es conexo. 3) Si la bsqueda no recorrio todos los vrtices, entonces el grafo no es conexo.

3.3 Conexidad. Clausura Transitiva.


Un grafo se puede representar para su manipulacin de las siguientes maneras :
a) Grficamente. Mediante puntos que representan los nodos y lneas que representan las aristas del grafo. b) Notacin de conjuntos. Ya sea por extensin (enumerando vrtices y aristas) o por comprensin. c) Estructuras de datos, como por ejemplo listas encadenadas, stacks, etc. d) Matrices

3.3.1 Representacin Matricial


Una relacin binaria en un conjunto X finito: X = {x1, x2,..., xn}, |X| = n, es el subconjunto R = {(xi,xj); xi R xj}, compuesto por el conjunto de pares ordenados resultantes del producto cartesiano de XxX. Si (xi,xj) R, decimos que xj esta relacionado con xi y notamos xi R xj. La relacin R puede ser representada como una matriz nxn cuyos elementos son:

R = rij = 0 si no

[ ]

1 si xi Rx j

Podemos afirmar que todo grafo G es orientado, por lo que existe una relacin binaria entre pares de elementos de G =(X,U), que es la relacin de adyacencia A. Entonces, dado un grafo G=(X,U), de orden n, se puede representar la relacin de adyacencia , mediante una matriz A=[aij] nxn, llamada matriz de adyacencia de G, definida por

65

Introduccin a la Investigacin de Operaciones

A = aij = 0 si no Es importante observar que en un grafo no orientado la relacin de adyacencia es simtrica y por lo tanto tambin lo ser su matriz asociada, ya que en el momento del almacenamiento solamente es necesario tratar la mitad de la matriz. Observaciones 1) La matriz de adyacencia es una matriz booleana, sus elementos son 0 o 1. 2) i xij = semigrado exterior de xi 3) j xij = semigrado interior de xj En aquellas aplicaciones en las que intervienen costos o propiedades propias de la relacin entre los elementos del sistema, estamos ante un Grafo Ponderado: G=(X,U,W) En estos casos la matriz de adyacencia se define como:

[ ]

1 si xi Ax j , ( xi , x j ) U

A = aij = 0 si no Esta matriz es booleana solamente en aquellos casos en que w(u) = 1, para toda arista u. El concepto bsico en grafos es el de relacin binaria, ya que una relacin binaria puede ser una relacin de equivalencia, la que particiona al conjunto X de vrtices en clases de equivalencias. Una relacin binaria es una relacin de equivalencia cuando es: 1) Reflexiva. x x 2) Simtrica. x y entonces y x 3) Transitiva. x y, y z entonces x z Estas tres propiedades asociadas a un grafo G = (X,U), X={xi ; 1in}, significan que: xi xj si xi = xj o si existe algun camino de xi a xj y de xj a xi. Definicin: Un grafo o subgrafo es fuertemente conexo, si ( x i , x j ), x i x j , camino de x i a x j . Toda relacin de equivalencia particiona al conjunto X en clases de equivalencias Xi={xi1, ... xip} que llamaremos componentes fuertemente conexas del grafo G.

[ ]

w( u )

si

xi Ax j , ( xi , x j ) U

66

Introduccin a la Investigacin de Operaciones

Por lo tanto, cada componente fuertemente conexa de un grafo G es un subgrafo fuertemente conexo, Gi=(Xi,Ui), del grafo G. Notar que la conexidad est muy relacionada a la existencia de caminos, existencia que se puede verificar mediante la propiedad transitiva. Definicin Una relacin R es transitiva, en un conjunto X,
si i , j , k = 1 , 2 ,... | X | se cumple que x i Rx j y x j Rx k entonces x i Rx k

Ahora bien la relacin de adyacencia A, no siempre es transitiva, observese el siguiente ejemplo donde xi A xj, xj A xk no implica que xi A xk.
xj

xi

xk

Introducimos entonces el concepto de clausura transitiva o alcance de la relacin A en el conjunto X.

3.3.2 Clausura Transitiva, Matriz de Alcance


Definicin: La clausura transitiva de una relacin A en el conjunto X es la relacin T definida por: xi Ax j xi Tx j m 2 y una secuencia de elementos
tales que x i

x k 1 , x k 2 , ..., x km X
para t = 1,2, . . . , m - 1, x km

= x k 1 , x kt Ax k ( t +1)

= xj

Observacin: La clausura transitiva de una relacin A, es la relacin A en s misma. Si A es la relacin de adyacencia en X, entonces la Clausura Transitiva en X es la Relacin de Alcance definida por: Ci,j = camino que va de xi a x Tx C i j i, j xj, xj es alcanzable desde xi, o que xj pertenece a la Clausura transitiva de xi, lo notamos : xj *(xi) La relacin de alcance es una relacin transitiva y cuando adems cumple con las propiedades de simetra y reflexividad, es una relacin de equivalencia que particiona a X en clases de equivalencia
X1, X2, ... Xm xi , xj Xk k=1,2,...m se verifica: xi = xj o xi T xj

67

Introduccin a la Investigacin de Operaciones

Cada clase corresponde a una componente conexa del grafo. Es decir que se pueden determinar la componentes fuertemente conexas del grafo calculando la clausura transitiva en el conjunto X de nodos.
x2 x3 x4

X1 = {x1, x2, x6} X2 = {x3, x4}

x1 x2 x6 x3 x4

x1 fig.CFC

x5 x6

X3 = {x5}

x5 x5

La relacin de alcance se representa matricialmente.


Definicin : La matriz de alcance es una matriz T = [tij] nxn,

T = [tij ] =

1 si xi Tx j , ( xi , x j ) U

0 si no la que indica la existencia de caminos entre pares de nodos y se obtiene calculando la potencia booleana de la matriz de adyacencia A.
Definicin: Matriz de potencias boolena de A es la matriz A(p) con p > 0

( p)

= aij

( p)

]=

1 si C i, j , l(C i, j ) = p 0 si no

A(0) = I , A(1) = A y A(p) = A(p-1) A, Nota: aij(2) = k=1,n(a ik a kj)

( producto booleano).

Teorema (Matriz de alcance): Sea Anxn la matriz booleana de la relacin de adyacencia en un grafo G de orden n entonces T = A(I A)(s-1) s n- 1, es la matriz de alcance de G.

La experiencia indica que alcanza con calcular T = (I A)(n-1) Si al calcular T, tij = 1 xi en X, entonces el grafo G es fuertemente conexo, o sea que xi, xj existe un camino de xi a xj. En caso contrario, si tij = 0 para algn par xi, xj, xj no es alcanzable desde xi pudiendose diferenciar las distintas componentes fuertemente conexas de G, clasificando grupos de nodos equivalente como aquellos que son alcanzables entre s.

68

Introduccin a la Investigacin de Operaciones

Si los nodos del grafo estn ordenados por componentes, cada una de ellas se va a caracterizar por un bloque o submatriz cuadrada de 1s en la diagonal de la matriz T. En estos casos se dice que la matriz T es triangular por bloques, es decir que esta compuesta por bloques cuadrados dispuestos en la diagonal.
Justificacin del Teorema

Sea A(p) la Matriz de Potencias Booleana de A, p 0 , 1 ssi C i, j , l(C i, j ) = p ( p) aij = 0 si no Entonces la matriz de alcance T = p= 1, A (p) cuyos elementos se definen 1 ssi C i, j , l(C i, j ) tij = 0 si no La suma booleana de todas las potencias posibles de la matriz de Adyacencia A, implica un clculo poco cmodo, entonces usamos el siguiente lema.
Lema 1: Sea un grafo G de orden n, si Cij simple y elemental entonces l(Cij) es a lo sumo n -1 . (los otros camino no interesan).

T = p= 1, s A (p) s n-1 ( para no perder generalidad) T = A(1) A(2) A(3) ... A(s) = (por prop.distr) = A ( I A ... A(s-1) ) T = A (I A)
(s-1)

Demostracin:

s = n-1

LQQD

Lema 2 Se cumple : I A . .. A (s-1) = (I Completa en s).

A)(s-1) , s 1

(se demuestra por Induccion

La experiencia indica que para calcular la matriz de alcance, alcanza con calcular T = (I A)
(n-1)

Intuitivamente se justifica dado que I incluye xi = xj , para cualquier i,j , (recordar definicin de relacin de alcance), adems A (I A)
(n-2)

(I A)

(n-1)

69

Introduccin a la Investigacin de Operaciones

Triangularizacin por bloques

Para una mejor manipulacin de las componentes fuertemente conexas y para una mejor distincin de las mismas, se triangulariza la matriz de alcance T. Se define una nueva base mediante un reordenamiento de los nodos, permutando las filas y columnas de T. Siendo T la matriz del sistema de ecuaciones Tx = b, debo transformar este sistema a otro equivalente con otra base que llamar Qx. Entonces construyo una matriz Q, tal que QTQtQx = Qb. La matriz de este nuevo sistema es QTQt que implica un nuevo orden del conjunto X de nodos, a partir de las componenetes fuertemente conexas del grafo.
Ejemplo: La siguiente matriz de adyacencia corresponde al grafo de la fig. CFC:

IVA

x1 x2 x3 x4 x5 x6 1 1 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0

x1 x2 x3 x4 x5 x6 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 (I V A)4 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1

1 1 0 0 0 1

1 1 0 0 0 0

0 1 1 1 0 0

0 0 1 1 0 0

0 0 1 0 1 1

1 0 0 0 0 0

1 1 0 0 0 1 1 1 0 0 0 1

0 0 1 1 0 0 0 1 1 1 0 0 (I V A)2

1 1 0 0 0 0 1 1 0 0 0 1

0 1 1 1 0 0 1 1 1 1 0 1

0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 (I V A )5 = T

X1= {x1,x2,x6}, 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1

X2={x3,x4}, 0 0 1 0 0 0

X3 ={x5} Mantengo x1,x2: x1 ==> x1, x2 ==> x2 Reordeno x6, x3, x4, x5: x3 ==> x4 x4 ==> x5 x5 ==> x6 x6 ==> x3

=Q

70

Introduccin a la Investigacin de Operaciones

1 1 1 0 0 0

1 1 1 0 0 0

1 1 1 0 0 0

1 1 1 1 1 0

1 1 1 1 1 0

1 1 1 1 1 1

= Q T Qt

Las componentes fuertemente conexas de un grafo G, se pueden condensar en un punto, formando un nuevo grafo Gc sin ciclos, cuyos arcos son aquellos del grafo G que unen distintas componentes, al que se llama grafo condensado. El siguiente es el Gc de la fig CFC. Los grafos condensados se utilizan en la planificacin del trnsito y de transporte urbano.
Procedimiento para condensar un grafo:
X2 X1

X3

1) Condensar G. 2) Encontrar algn camino hamiltoniano, si existe, en el grafo condensado Gc. 3) Encontrar un camino hamiltoniano en cada nodo del grafo condensado (en cada componente fuertemente conexa de G). 4) Si es posible, unir el o los caminos encontrados en el paso 3) con el encontrado en el paso 2).

Supongamos que el grafo condensado del ejemplo anterior describe el posible recorrido de una lnea de mnibus, y se desea determinar aquel recorrido que pasa una sola vez por cada una de las paradas (nodos del grafo).
Definicin Un camino hamiltoniano en un grafo G, es aquel camino que pasa una y solo una vez por cada vrtice del grafo.

Si G es de orden n, el largo del camino hamiltoniano es el del camimo elemental de longitud mxima.

71

Introduccin a la Investigacin de Operaciones

3.4 Multiplicacin Latina - Camino Hamiltoniano


Procedimiento: Se enumeran todos los caminos elementales posibles de longitud 1,2,... n-1. Detenerse al encontrar todos los caminos de largo n-1.

Si no existe Camino Hamiltoniano, se conocern todos los caminos elementales intermedios. La enumeracin de los caminos elementales se realiza mediante el mtodo de Multiplicacin Latina. Los elementos de la matriz Latina de largo 1, [M](1) = ((mij(1))) se definen xi xj si (xi,xj) U, ij (1) mij = 0 si (xi,xj) U, ij o i = j Retirando la primera letra de los elementos distintos a 0 obtenemos [M](1) = ((mij(1))) latina. xj si (xi,xj) U, ij (1) mij = 0 si (xi,xj) U, ij o i = j Los caminos elementales de largo 2 se calculan de la siguiente manera [M](1) L [M](1) = [M](2) siendo mij(2) =

Uk=1,n (mik(1) mkj (1) ), donde


mik(1) conc. mkj (1) si mkj (1) mik(1) y mik(1) mkj (1) = 1 0 si no.

mik(1) mkj (1) =

M(3) = M(2) L M(1),

M(4) = M(3) L M(1)

Para encontrar los caminos hamiltonianos nos detenemos en el paso n-1 (4, en nuestro caso). Los elementos de la matriz M(n-1) contiene la sucesin de nodos de cada uno de los caminos hamiltonianos, si existe alguno.
Ejemplo:
A E B

D M(1)

C M(1)

72

Introduccin a la Investigacin de Operaciones

0 0 0 0 EA

AB 0 0 0 0

AC BC 0 DC 0

0 0 CD 0 ED

AE BE 0 DE 0

0 0 0 0 A

B 0 0 0 0

C C 0 C 0

0 0 D 0 D

E E 0 E 0

0 BEA M(2) 0 DEA 0

0 0 0 0 EAB

ABC 0 0 0 EAC EDC

ACD AED BCD BED 0 0 0

ABE 0 CDE 0 0 =

M(4) =

0 BCDEA 0 0 0

0 0 CDEAB 0 0

ABEDC 0 0 DEABC 0

0 BEACD 0 0 EABCD

ABCDE 0 0 0 0

4. ESQUELETOS Y CAMINOS OPTIMALES 4.1 Medida de conexin de grafos


Cuerda de un esqueleto en un grafo conexo G, se le llama a cualquier arista de G que no pertenece al esqueleto E.

Afirmacin:

Cualquier subgrafo compuesto del esqueleto y una cuerda contiene un ciclo


cuerda esqueleto

Nmero ciclomtico v(G) de un grafo G, es el nmero de cuerdas de cualquier esqueleto en G. Proposicin: Sea un grafo G, m el nmero de aristas , n el nmero de vrtices y c el nmero de componentes conexas, entonces v(G) = m - n + c.

73

Introduccin a la Investigacin de Operaciones

Teorema: Sea G un grafo de orden n, n > 2. Las propiedades siguientes son equivalentes en cuanto a caracterizar a G como rbol. 1) G es conexo y sin ciclos. 2) G es sin ciclos y con (n-1) aristas. 3) G es conexo y con (n-1) aristas. 4) G es sin ciclos y maximal. G es maximal si al agregar una arista entre dos vrtices no adyacentes se crea uno y solo un ciclo. 5) G es conexo y minimal. G es minimal si suprimiendo una arista cualquiera del grafo, ste deja de ser conexo) 6) Todo par de vrtices est unido por una y solo una cadena.

Teorema: Un rbol de orden n >2 admite por lo menos dos vrtices que son adyacentes a un solo vrtice. Teorema: Un grafo admite un grafo parcial que sea rbol ( dicho de otra forma admite un rbol parcial (esqueleto) s. s. i. es conexo.

74

Introduccin a la Investigacin de Operaciones

4.2 Esqueletos optimales


Esqueleto Mnimo de un grafo ponderado G = (X, U, W) de orden n, es aquel esqueleto de valor mnimo.

Los esqueletos mnimos permiten, por ejemplo, calcular el costo mnimo de conexin de un grafo. Los algoritmos de Kruskal y Prim encuentran un esqueleto mnimo en G.
ALGORITMO DE KRUSKAL

Repita los siguientes pasos hasta que el conjunto T tenga (n-1) aristas (T= n-1): 1) Al comenzar T = (vaco) 2) Agregue a T las aristas de menor valor que no formen un ciclo con las aristas que ya estn en T.

ALGORITMO DE PRIM

Repita hasta que el rbol T tenga (n-1) aristas: 1) Al comienzo tome cualquier arista que tenga el menor valor asignado. 2) Agregue a T la arista de valor mnimo, conformada por un vrtice en T y otro vrtice que no pertenezca a T.

Se puede demostrar que estos algoritmos construyen esqueletos mnimos. El siguiente teorema, demuestra la correctitud del algoritmo de Prim.
Teorema P1: El algoritmo de Prim es vlido, es decir al finalizar el algoritmo, el grafo resultante E es un esqueleto mnimo. Demostracin:

Podemos afirmar que por construccin, al finalizar el algoritmo, E es un subgrafo parcial de G (conexo) y sin ciclos ==> es un ESQUELETO. A continuacin probamos que E es un esqueleto mnimo y lo hacemos por induccin en la K-sima iteracin del algoritmo. Al demostrar que en la k-sima iteracin Ek est includo en un esqueleto mnimo, estoy demostrando que al finalizar, En-1 es un esqueleto mnimo.
1.-Paso base k=1, n=2, E1 tiene una sola arista que es la mnima (o una de ellas) ==> E1 en algun esqueleto mnimo de G. Se cumple. 2.- Paso inductivo Suponemos verdadero para k = k-1 (k-1-isima iteracin), o sea que Ek-1 E' que es mnimo.

75

Introduccin a la Investigacin de Operaciones

Sea V el conjunto de vrtices de Ek-1 : V = { vi, vi Ek-1) El algoritmo toma una arista [i,j] de valor mnimo, tal que i V, y j V y lo agrega a Ek-1 obteniendo Ek = Ek-1 U [i,j]

Ek-1 i j x

Si [i,j] E', ==> Ek E' (esq. mn) L.Q.Q.D Si [i,j] E' ==> E' U [i,j] contiene un ciclo C. Tomemos una arista [x,y] ciclo C, y tal que [x,y] [i,j] con x en V e y V. Consecuentemente w[x,y] w[i,j] y por lo tanto el grafo E'' = { E' U [i,j] - [x,y] } tiene valor el valor de E' (*)

Como por construccin E'' es esqueleto, entonces por (*) es un esqueleto mnimo y como Ek E'' se verifica el paso inductivo. Ek en un esqueleto mnimo (E' o E'')
L.Q.Q.D.

76

Introduccin a la Investigacin de Operaciones

4.3 Caminos optimales Camino mnimo


Algoritmo de DIJKSTRA

Este algoritmo calcula el camino mnimo de un nodo a a otro nodo z en particular, a la vez que calcula los caminos mnimos desde el nodo inicial a dado hasta cada uno de los otros nodos del grafo.
Algoritmo de Dijkstra

Sea G = (X, U, W) un grafo ponderado, w(u) el largo asignado a la arista u, m un contador de distancia, (r, d(p)) etiqueta del vrtice p, r = antecesor de p en el camino desde a, d(p) = distancia mnima desde a hasta p. Para valores crecientes de m, el algoritmo marca aquellos vrtices que tienen m como distancia mnima desde el vrtice a.
1) Empezar con m = 1 y marcar a con (-, 0) 2) Chequear cada arista u = (p,q) desde algn p ya marcado, hasta algn q sin marcar. Suponga que p est marcado con (r, d(p)) Si d(p) + w(u) = m , marcar q con (p,m) 3) Si x sin marcar: m := m + 1; volver al punto 2 Si no: ejecutar el punto 4 Si solamente estamos interesados en el camino hasta z, al marcar z, seguimos con el punto 4 4) Para cualquier vrtice y, un camino ms corto de a a y, tiene largo d(y) (la 2da parte de la etiqueta de y). Ese camino lo puedo encontrar retrocediendo desde y, usando la 1era parte de las etiquetas de los vrtices encontrados en el retroceso.

Este algoritmo permite calcular cuan lejos se puede llegar en 1, 2 .... m unidades. Como est especificado en Pero tiene una ineficiencia muy significante, Si la suma d(p) + w(u) en 2) tiene valor por lo menos m'>m entonces el contador de distancia m, debera ser incrementado inmediatamente a m' (m := m').
Ejemplo: Encontrar el camino mnimo (mas corto) entre F y C del siguiente grafo

77

Introduccin a la Investigacin de Operaciones

(F,7)

A
3

B
6 3

(A,9)

7 (-,0)

G
5 (F,5)

F
6

1 (I,6) 4

H
8

2 2 (E,7)

(D,9)

(G,9)

E
(F,6)

m=1 no puedo marcar m'= 5 , incremento m := m' m=5, marco I (F, 0+5) m=6 , encuentro G , d(F) +1 = 6 marco G (I,6) m=7 marco A [0+7] (F,7) y D [6 + 1] (E,7) m=8 no marco m=9 marco H (G,9) y B (A,9) marco C (D,9) Encontr C, d(C) = largo del camino= 910 Retrocedo por la primera etiqueta: C->D->E->I->F.
El camino mnimo es: F-I-E-D-C.

78

Introduccin a la Investigacin de Operaciones

5. REDES FLUJOS
Red es un grafo ponderado, con un nodo a llamado fuente y otro nodo z llamado pozo, terminal o resumidero (sink).

N = ( X, U, W)

X = { a, z, xi , 1 i n-2}

U = { (xi, xj), ........} Consideramos redes orientadas. Es viable afirmar que una red siempre es orientada.
b 7,4 4,3 a 4,0 8,8 c 5,5 e 3,2 8,6 4,1 z 5,5 d 7,6

Se llama red de transporte cuando a cada arco u de la red se lo pondera asignndole un par de nmeros enteros, positivos mediante las funciones capacidad, k(u) , y flujo, (u). w(u) = (k(u), (u))
k(u) es la capacidad o cota superior de lo que puede transportar el arco u y (u) el flujo o la cantidad de sustancia que realmente transporta el arco u.

Una red de transporte modela problemas del tipo: - maximizar el flujo de petrleo, a travs de una gran red de oleoductos; - maximizar el nmero de llamadas telefnicas en la red de telefona. - otros. Se transportan unidades de flujo de un sitio a otro a traves de una red, con ciertas restricciones en cuanto a capacidades de envo en las lneas que componen la red. En el caso del transporte de petrleo, la capacidad de un arco representa la capacidad en barriles por minuto de una seccin del oleoducto, el flujo es el fludo que se transporta o enva. Lo que se busca es maximizar un "flujo" desde el nodo a al nodo z, de tal modo que el flujo ( fludo) que pasa por cada arco no exeda su capacidad permitida.

79

Introduccin a la Investigacin de Operaciones

Es un problema tpico de Investigacin de Operaciones:


max {Flujo} segn restricciones

La capacidad y flujo de los arcos pueden tener asignados otros valores, que no sean enteros positivos, pero se debe tener especial cuidado al aplicar un algoritmo de solucin que sea adecuado a esa caracterstica.

5.1 Corte mnimo flujo mximo


El conjunto de los nodos X se puede particionar en dos subconjuntos P, y Pc, P U Pc = X, PPc = .
Definicin: Un corte en la red N es el conjunto de los arcos incidentes hacia el exterior de P. (P,Pc) = { (x,y) , x P, y Pc, P U Pc = X, PPc = }

Un corte me determina posibles caminos desde a a z En la red de la fig. 4.1, si P = {b,c}, Pc = {a,d,e,z}, (P,Pc) = {(b,d), (b,e), (c,e)}; Nota: {(a,b), (a,c), (d,c)} al corte, sin embargo en redes no orientadas, (P,Pc) denota todas las arcos que van de P a Pc.
Definicin: Corte a-z (fuente-terminal) es aquel en que a P y z Pc.

En la red de la fig 4.1, si P = {a,b,c}, (P,Pc) es un corte a-z.


Definicin: Capacidad de un corte (P,Pc) viene dada por k(P,Pc) =
ucorte

k(u) .

Definicin: Flujo a-z, (flujo fuente-terminal) en una red N, es aquel en el que (u) u U, los nodos fuente a y pozo z satisfacen las siguientes condiciones:
a) 0 (u)k(u) u U b) (u) = 0, u I-(a) y u I+(z) c) x a, x z, uI+(x) (u) = uI-(x) (u)

La condicin b) nos asegura que el flujo vaya de la fuente al pozo y no al revs. La condicin c) implica que el flujo parcial que entra a un nodo x, es igual al flujo parcial que sale de x, es llamada la condicin o ley de conservacin de flujo de Kirchhoff. Si se suman las ecuaciones en c) sobre todas las x pertenecientes a un subconjunto P de nodos de una red N que no contengan ni a ni z, se obtiene la siguiente expresin como consecuencia de c:

80

Introduccin a la Investigacin de Operaciones

(u) = xP uI-(x) (u) Obs: algunos (u) se repiten en ambos miembros de la igualdad, ya que en ambos lados se sumas el flujo de aquellos arcos que van de un nodo en P a otro en P.
xP + uI (x)

Por ejemplo tomando P = {b,c}en el ejemplo de la fig. 4.1,


+ uI (b)

(u) = 5+2 = (u) = 5+3 =


xP

uI (b)

(u) = 4+3 (u) = 8+0 4+3+8+0

+ uI (c)

uI (c)

5+2+5+3 ==

xP

Eliminando los flujos (u) que se repiten en ambos miembros se obtiene una nueva condicin para todo subconjunto P de nodos que no contengan ni a ni z.
c')
c u(P,P )

(u) =

c u(P ,P,)

(u)

Es decir que P que no contenga ni a ni z, el flujo que ingresa a P es igual al flujo que sale de P.
Teorema N.1 Para cualquier flujo a-z, en una red N, el flujo que sale de la fuente a es igual al flujo que ingresa (entra) al pozo z.

Demostracin: Suponga momentaneamente que N = (X, U, W) no contiene ningn arco (a,z). (nota: el teorema es vlido tambien cuando existe un arco (a,z)). Sea P = { X - a - z} y Pc = {a, z}

Flujo saliente de a = uI+(a) (u) Por la condicin b) de flujo a-z: Por c) : Por b):
c u(P ,P) c u(P,P ) + uI (a)

(u) = (u) =

c u(P,P ) uI (z)

(u) =

Flujo saliente de a =

+ uI (a)

(u) =

(u) =

c u(P ,P)

(u)

(u) flujo entrante a z


uI (z)

(u) =

flujo entrante a z

LQQD

81

Introduccin a la Investigacin de Operaciones

La condicin b) de flujo a-z determina que el nico flujo hacia P desde Pc={a,z} debe ser desde a.
Cuantificacin de un flujo a-z : ||. || es el valor del flujo a-z, y se define como la suma del flujo que sale de a,( equivalente a decir que es la suma del flujo que entra a z). Entonces, una cota superior de || es la suma de las capacidades de los arcos incidentes hacia el exterior de a.

|| =

+ uI (a)

(u)

+ uI (a)

k(u)

De la misma manera, la suma de las capacidades de los arcos incidentes hacia el interior de z es una cota superior del valor del flujo ||. Adems, || est acotado tambin por la capacidad de cualquier corte a-z, es decir, por la suma de las capacidades de cualquier conjunto de arcos que corta todo flujo de a a z. En el ejemplo primero, el corte con P = {a,b,c ), es de capacidad k(P,Pc) = 13es, por lo que ningn flujo a-z en la red puede valer ms de 13. (Nota: en este caso c' no es vlida ya que a P.)
Teorema N.2: Para cualquier flujo a-z, , y cualquier corte a-z, (P,Pc), en una red N,

|| k(P,Pc)
Demostracin: Expandimos la red N agregndole un nodo a' con un arco u' = (a', a) de capacidad infinita (significa muy grande), k(u') = , a' Pc.

a' Pc

a Pc

fig. 4.3 A u' se le asigna el valor del flujo ||, (u) = || , entonces se transforma en un flujo a'-z en la red expandida, la antigua fuente a ahora recibe su flujo de la super fuente a'. En esta nueva red, N', si se puede aplicar la condicin c') a P, ya que P no contiene la fuente a'

82

Introduccin a la Investigacin de Operaciones

(u) = u(P,Pc) (u) Adems por construccin de N', el flujo hacia P es de valor al menos || que es el valor de (u'), otros flujos podran ingresar a P por arcos desde Pc.
c u(P ,P)

|| = (u') (*)

c u(P ,P)

(u) =

c u(P,P )

(u)

c u(P,P )

k(u) = k(P,Pc)

|| k(P,Pc)

L.Q.Q.D.

Corolario N.2 Para cualquier flujo a-z, , y cualquier corte a-z, (P,Pc), en una red N,

|| = k(P,Pc) s.s.i i) (u) = 0 , u (Pc,P) ii) (u) = k(u), u (P,Pc). En este caso decimos que es un flujo mximo y (P,Pc) es un corte a-z de capacidad mnima.
Demostracin: Considere las inecuaciones en (*) de la demostracin del Teorema N.2 y la red expandida. || = (u')
c u(P ,P)

(u) =

c u(P,P )

(u)

c u(P,P )

k(u) = k(P,Pc)

Directo Si || = k(P,Pc) entonces se cumple la igualdad en la inecuacin (*) es decir, || = c (u) i) es verdadera, u(P ,P) (si fuese
c (u) = Adems u(P,P ) u(P,Pc), porque si no c u(P ,P)

(u) > || , habran otros flujos positivos hacia P).

c u(P,P )

c u(P,P )

k(u) = k(P,Pc) lo que implica (u) = k(u) (u) < k(P,Pc) contradice la hiptesis.

Recproco: vale el mismo argumento utilizado para demostrar el directo. Por lo tanto la igualdad en (*) se cumple s s i i) y ii) se cumplen. La ltima afirmacin del corolario, se deriva directamente del Teorema N.2 Cuando en || k(P,Pc) se cumple la igualdad, se obtiene el valor mximo de || ==> es un flujo mximo, y tambin cuando se cumple la igualdad, se obtiene el valor mnimo posible de la capacidad del corte a-z en consideracin, ==> (P,Pc) es un corte a-z de capacidad mnima.

83

Introduccin a la Investigacin de Operaciones

5.2 Bases Para la Construccin de un Flujo Mximo


Arco Saturado El arco u de la red se dice saturado cuando k(u) = (u);

La holgura de un arco u es la cantidad libre de su capacidad, an pasible de utilizar y se nota s(u) = k(u) - (u)
Holgura mnima en un camino que va de a a z, es la holgura mnima entre todos los arcos de ese camino. Camino a-z, Li, es un camino i que va de la fuente a la terminal. Ejemplo:
5 5,3 a 5,3 4 c b 3,3 d 4 6,3 z 6,3 5 3,3 e

1 1,0

2 6,0

Supongamos que a la red de la figura no se le asignaron flujos a sus arcos. Encontramos en esa red el camino L1 = {(a,b), (b,d) (d,z)}= a-b-d-z. La holgura mnima de L1 es 3, min s(u) = 3 u L1. Esto quiere decir que podriamos sumarle un flujo de 3 unidades a cada uno de los arcos de L1. Luego identificamos el camino L2 = a-c-e-z, y hacemos lo mismo que con L1, en este caso tambien sumamos 3 unidades, min s(u) = 3 u L2.. Con el mismo procedimiento se podra ir aumentando el flujo de los arcos pertenecientes a caminos que van de a a z, con su holgura mnima, hasta encontrar un flujo que sea mximo.
Afirmacin: Cualquier flujo en una red N, se puede descomponer unidades de flujo a-z en caminos que van de a a z.

Por ejemplo el flujo de llamadas de telfonos de un pas a otro puede ser descompuesto en llamadas individuales; el flujo de petrleo en su envo, puede descomponerse en los caminos del envo de cada tonelada.
Unidad de flujo a-z en L, siendo L un camino que va de a a z, es el flujo

con L(u) = 1 si u L y L(u) = 0 si u L

En base a esta unidad, se define la suma de flujos al flujo de una red.

84

Introduccin a la Investigacin de Operaciones

= + L1(u) + L2(u), u U El flujo de la red sigue siendo un flujo a-z, siempre que (u) k(u), u caminos en consideracin. Si s es la menor holgura en un camino L, es entonces la holgura mnima del camino L por lo que se puede sumar sL al flujo de la red. s*L = L+L+L +L ...... (s veces). = + s * L Este mecanismo nos sugiere una manera de construir un flujo mximo: aumentando el flujo de la red mediante la suma de unidades de flujo a-z equivalentes a la holgura mnima de los caminos a-z que as lo permitan. Volviendo al ejemplo, al comienzo el flujo de la red es (u) = 0 uU , luego encontramos el camino L1 = a-b-d-z y le sumamos a flujo 3L1. Observar que L1 posee un nico arco saturado: (b,d), el de la holgura mnima. Luego aumentamos en 3L2, L2 = a-c-e-z . Continuamos con L3= a-b-e-z de holgura mnima 2, que se usa para aumentar el flujo en 2L3 y L4 = a-c-d-z- de holgura mnima 1 el flujo aumenta en L4. As se obtiene el flujo a-z = 3L1 + 3L2 + 2L3 + L4 Luego de aumentar el flujo con L4, todos los caminos que llevan a Z tienen holgura mnima 0 y en la bsqueda de caminos con alguna holgura mnima, no se puede seguir mas all que de a hasta c. Se han saturado todos los arcos de un corte a-z; u (P,Pc), P = { a,c}, (u) = k(u). k(P,Pc) = 9 = || maximal (por corolario N.2) y el corte es mnimo, es el de capacidad mnima, observar que al estar saturado, no se puede enviar mas que k(P,Pc) unidades desde a. En este caso se tuvo la intuicin necesaria para encontrar los caminos que llevaron al flujo mximo. Pero no siempre es tan fcil. La siguiente figura muestra otro procedimiento de aumento a la red del ejemplo.

85

Introduccin a la Investigacin de Operaciones

b 5,5 a 5,1 2 4 1,1

2 3,0

d 3 6,1 3 6,5 6,5 6

3,1 3

Se empieza con L1 = a-b-e-z saturando el arco (a,b), sumandole 5L1. Luego L2 = ac-d-z, saturando (c,d) y sumandole al flujo 1L2. Queda nada mas que un camino sin saturar L3 = a-c-e-z holgura mnima 1, se sumando 1L3 al flujo total. = + 5L1 + 1L2 + 1L3 No hay mas caminos de a a z con holgura mnima positiva ( >0 ), no es posible aumentar mas el flujo. De a puedo llegar nada mas que hasta e pasando por c. Queda determinado un corte saturado (P, Pc), P = {a,c,e}. Luego observamos que || = 7 y k(P, Pc) = 12. || < k(P, Pc) El mtodo de aumento puro, no siempre encuentra un flujo mximo! Por el corolario N.2 un flujo es de valor mximo ssi i) (u) = 0, u(Pc, P) ii) (u) = k(u) u (P, Pc) En este caso observamos que el arco u = (b,e) (Pc, P) y (u) = 5 0 Se ha cometido el error de haber aumentado de entrada todas unidades libres de L1, (5). Por eso en L3 no se pudo mandar mas que 1 unidad de flujo de L3, y en L2 nada mas que 1, (c,d) no lo permita. En realidad se debera haber reservado alguna unidad de L1 para asignarsela a L3, (c,e) s lo permita. Con L4 = a-b-d-z, se obtiene el flujo. = 3L1 + L2 + 3L3 + 2L4 Este mtodo de reservar unidades de flujos es muy complicado y poco controlable ya que igualmente no asegura encontrar el mximo. Existe una manera de ir corrigiendo el aumento de los flujos y que evita caer en los errores mencionados. En la red de la fig 4.5, el arco (b,e) contiene 5 unidades de flujo que van de Pc a P con (P,Pc) saturado, (b,e) =5 > 0, esto se corrige reduciendo el flujo de (b,e). Como 86

Introduccin a la Investigacin de Operaciones

hacerlo? Por la condicin c) de flujo a-z, se lo puede reducir solamente, si se compensa la reduccin del flujo desde b hacia e, con un incremento hacia e desde cualquier arco u I-(e), con extremo inicial en P. Compensando desde Pc se corre el riesgo de encontrarse nuevamente con el caso de arcos que van de Pc a P con flujo positivo (ver corolario N.2). El incremento de compensacin debe venir de la fuente a, ya que necesitamos corregir el flujo en un camino desde a a e que contenga nodos en P. El nico camino de esas caractersticas es K1 = a-c-e. Del mismo modo, la reduccin del flujo de b hacia e, debe ser compensado por un incremento en algun camino desde b hacia algun nodo en Pc, ya que necesitamos corregir flujo en algn camino de b a z , con nodos en Pc. El nico camino con esas caractersticas es K2 = b-d-z. La mnima holgura en K1 es 2, y en K2 es 3, el mnimo entre ellos es 2, entonces se disminuye el flujo de (b,e) en dos, (b,e) : = (b,e) - 2 , y se aumenta el flujo de K1 y K2 en 2. Con este aumento de correcin se obtiene el flujo mximo,en el corte a-z saturado con P= {a,c},Pc={b,d,e,z}. Observen que el procedimiento ha consistido en realizar una correccin en la cadena K = a-c-e-b-f-z de 2 unidades de flujo.
Definicin Unidad de flujo a-z en una cadena K que va de a a z, es el flujo K con K(u) = 1 u K con direccin igual al de la orientacin de la cadena K (u) = -1 en aquellos arcos con orientacin contraria a la de la cadena, K (u) = 0 en los otros arcos.

K en realidad no es un flujo ya que tiene valores negativos en algunos arcos, pero el flujo resultante de una correcin, = + K s lo es. Aquellos arcos que van en la direccin contraria a la de K, tiene valores positivos, > 0, que puedo reducir y existe holgura en los arcos que van en la misma direccin de K hacia z que puedo aumentar. En el ejemplo anterior se corrige sumando a un flujo cadena de 2 unidades, = + 2K .

5.3 Algoritmo de Flujo Mximo


El algoritmo de aumento que a continuacin planteamos, de Ford y Fulkerson, construye un corte mnimo y un flujo mximo, corrigiendo e incrementando, mediante el aumento del valor del flujo con unidades de flujo a-z en cadenas. Iterativamente va construyendo cadenas de flujos desde a, de una manera similar a la del camino mnimo de Dijkstra. A cada nodo q va visitando le asigna una etiqueta: (p, D(q)) compuesta de dos etiquetas: 1) p es el nodo precedente a q en la cadena de flujo de a a q, el ndice superior de p ser el signo de + si el ltimo arco en la cadena es (p,q) y el signo de - si el ltimo arco es (q,p).

87

Introduccin a la Investigacin de Operaciones

2) D(q) es la holgura mnima entre todos los arcos de la cadena que van de a a q. En un arco u de orientacin contraria al de la cadena, la holgura es la cantidad de flujo que puedo quitar. En caso de aplicar este algoritmo en una red con un flujo preasignado, controlar que sea a-z.
Algoritmo de Flujo Mximo
1.- Marcar la fuente a con (-) a es el primer nodo a examinar. 2.- Sea p el vrtice que se examina cuya 2da etiqueta es D(p)

a) Examinar todo u = (q,p) I-(p) Si (u) > 0 y q no marcado entonces marcar q con (p-, D(q)) siendo D(q) = min (D(p), (u)) b) Examinar todo u = (p,q) I+(p) Si s(u) = k(u) -(u) > 0 y q no marcado entonces marcar q con (p+, D(q)) siendo D(q) = min (D(p), s(u))
3.- Si Z marcado, ir al punto 4.

Si no, elegir otro vrtice marcado para examinar (que no haya sido examinado antes ) e ir al punto 2. Si no existen mas vrtices marcados para examinar se ha determinado un corte a-z saturado(P,Pc) , con P el conjunto de los vrtices marcados. || = k(P,Pc) y por eso maximal ==> FIN
4.- Encuentre una cadena a-z K de arcos con holguras, retrocediendo desde z como en el algoritmo de camino mnimo. El flujo a incrementar k es cadena flujo a-z, de valor D(z) unidades

' = + D(z)k Reasignar el flujo, y se aplicar nuevamente el agoritmo a ', es decir volver a 1)

Teorema: Dado cualquier flujo a-z , aplicando un nmero finito de veces el algoritmo de Ford y Fulkerson, se obtiene un flujo mximo. Adems, si P es el conjunto de vrtices marcados en la etapa final del algoritmo, el corte (P,Pc) es un corte a-z mnimo. Corolario (Flujo mximo- Corte mnimo) En cualquier red orientada, el valor de un flujo mximo a-z es igual a la capacidad de un corte a-z mnimo.

88

Introduccin a la Investigacin de Operaciones

6. INTRODUCCIN A LOS PROBLEMAS DE ORDENAMIENTOS


Ordenar es programar la ejecucin de la realizacin de un trabajo, asignando recursos y fijando las fechas de ejecucin de las tareas que lo componen. Los problemas de ordenamiento son inherentes a toda organizacin. Estos problemas se resolvieron en forma emprica, mediante diagramas de Gantt, hasta 1958. En esta fecha aparecen el mtodo PERT, o americano, y el mtodo de los potenciales de B. Roy que resuelven los problemas de ordenamiento en el caso particular en que las restricciones son de sucesin y de ubicacin temporal de tareas. Estos dos mtodos, que llamaremos de camino crtico, surgieron a partir de necesidades concretas de proyectos de gran envergadura con una organizacin muy compleja debido al gran nmero de tareas. A pesar de que el mtodo del camino crtico resuelve un caso particular de los problemas de ordenamiento, y de los ms simples, se ha convertido en elemento indispensable en la gestin de las organizaciones. Los problemas de ordenamiento aparecen en diversas reas: informtica (jobs, gestin de recursos: procesos, memoria), construccin (seguimiento de proyectos), industria (problemas de talleres, gestin de la produccin), administracin (empleo de tiempo). En los problemas de ordenamiento distinguimos: las tareas, las restricciones potenciales, los recursos y la funcin econmica. Las tareas son el comn denominador de los problemas de ordenamiento, su definicin no es siempre inmediata ni trivial. Cuando la duracin y las fechas mas tempranas de comienzo de una tarea son conocidas, estamos ante un problema esttico, por el contrario, cuando el conjunto de tareas evoluciona con el tiempo de forma no determinista, estamos ante problemas estocsticos y/o dinmicos. Las tareas pueden estar ligadas por restricciones de sucesin y de localizacin temporal, que llamamos restricciones potenciales. Ejemplo de restricciones de sucesin: construir primero los cimientos de un edificio, luego las paredes, etc. Ejemplo de restricciones de localizacin temporal: tal tarea no puede comenzar antes de tal fecha o se tiene que terminar antes que tal otra. Las tareas requieren de recursos para ejecutarse . Los recursos determinan dos tipos de restricciones: disjuntivas y acumulativas. Una restriccin disjuntiva aparece cuando, por ejemplo, dos tareas usan la misma mquina y no se pueden ejecutar simultneamente. Hay una restriccin acumulativa cuando, por ejemplo, tres procesadores estan disponibles para ejecutar cuatro tareas, con lo cual una se retrasar y deber necesariamente esperar la finalizacin de alguna de las otras. La funcin objetivo se determina segn cmo se programen las tareas de forma de optimizar segn un cierto criterio. Por ejemplo, la minimizacin de la duracin total de un trabajo (criterio ms usado), respetando las fechas de los pedidos, o minimizacin de un costo, etc. En forma genrica hay tres tipos de funcin objetivo en los problemas de ordenamientos: 1) uso eficaz de recursos, 2) demora mnima en la

89

Introduccin a la Investigacin de Operaciones

de ejecucin de las tareas, 3) cumplimiento de las fechas de finalizacin fijadas a priori.

6.1 Conceptos Generales


Sean: I = conjunto de tareas, n = nmero de tareas a ejecutar (card I), di = duracin de la tarea i, ci = fecha de disponibilidad, o de comienzo mas temprana fi = fecha en que debera estar terminada la tarea i ("deadline") ti = fecha de comienzo de ejecucin de la tarea i, Ti = fecha de fin de ejecucin.

Si la tarea i no es interrumpida, entonces: Ti = ti + di. Una condicin necesaria para que un ordenamiento sea realizable es: ci ti <Ti fi, i I En ciertos casos, p.ej. si hay un retardo tal que Ti > fi, se podr considerar un costo wi asociado a esa tarea i.

6.1.1 Relacin entre las tareas, Restriccin Potencial


En general dos tareas cualesquiera i, j I, no son independientes y pueden estar ligadas por restricciones de anterioridad. Notaremos una restriccin potencial entre las tareas j e i de la sg manera: tj -ti aij En el caso particular cuando aij = di , estamos ante una sucesin simple. Sin embargo no se puede representar mediante restricciones potenciales el hecho de que dos tareas exijan el mismo recurso en el mismo momento y que por lo tanto no pueden ejecutarse simultneamente. El conjunto de restricciones potenciales se puede representar por un grafo ponderado y los mtodos de camino crtico que estudiaremos trabajan esencialmente sobre este grafo.

6.1.2 Modos de ejecucin de las tareas.


Las tareas se ejecutan en forma continua o discontinua. Cuando una tarea i puede ser ejecutada en forma discontinua, se dice entonces que es interrumpible ("preemtable"). O sea que una tarea i es pasible interrumpible (peemtable) si cuando se est ejecutando y usando un determinado recurso, puede ser interrumpida por una tarea j de mayor prioridad, y el recurso pasa a ser utilizado por la tarea j. En general el hecho de tener este tipo de tareas disminuye la complejidad de los problemas tratados.

6.1.3 Recursos
Se distinguen dos tipos de recursos: renovables y consumibles.

90

Introduccin a la Investigacin de Operaciones

Un recurso es renovable si despus de haber sido usado en una tarea, es utilizable totalmente en las tareas posteriores. Ejemplos: mquinas, procesadores, archivos, personal, etc. Un recurso es consumible si despus de haber sido utilizado en una tarea, ya no esta ms disponible para las posteriores. Ejemplos: materias primas, dinero, etc. Los recursos, sean renovables o no, pueden estar disponibles solamente en ciertos perodos, sujetos a una curva de disponibilidad.

6.1.4 Criterios de optimizacin.


Los factores ms importantes en la evaluacin de un ordenamiento son: la utilizacin eficaz de los recursos, la disminucin de la demora global y el respeto del mayor nmero posible de restricciones introducidas. A continuacin describimos algunos de los criterios de optimizacin mas utilizados en problemas de ordenamientos: a) Duracin total del ordenamiento: Si Tmax es la duracin total del ordenamiento, y la fecha de comienzo es 0, entonces Tmax es igual a la fecha de finalizacin de la tarea que finaliza ltima, es decir, Tmax = max {Ti}, iI. La minimizacin de Tmax es la ms utilizada y es probable que con este criterio se asegure adems una utilizacin eficaz de los recursos. Los mtodos de camino crtico tienen como objetivo la minimizacin de Tmax. b) Respeto de las fechas mas tardas de finalizacin: Muchos casos de problemas reales, deben respetar las demoras y esto se relaciona con las fi. Una propuesta es tratar de minimizar el retraso mayor. Si ri es el retraso de la tarea i, entonces ri = max (0, Ti - fi), y Rmax = maxiI {ri}. El criterio sera min(Rmax). Otro criterio sera la minimizacin de la suma o la suma ponderada de los retardos, etc. c) Minimizacin de un costo: Este tipo de criterio puede expresarse de diversas formas, por ejemplo, minimizar la suma ponderada de fechas de finalizacin de tareas; es usado para minimizar costos de stock. d) Minimizacin de nmero de interrupciones: Si en los problemas de ordenamientos se autorizan las interrupciones y si una tarea es interrumpida n veces, la suma del nmero total de interrupciones para todas las tareas es considerado un criterio de optimizacin secundario importante. En multiprogramacin, por ejemplo, a cada interrupcin de tarea est asociado un cambio de contexto, cuya duracin no es despreciable. Observar que en el ordenamiento de actividades en la produccin de bienes, puede ser tolerado un nmero importante de interrupciones en el uso de recursos no crticos (cuyo costo de interrupcin es nulo) si ello redunda en el uso eficaz de los factores limitativos.

6.1.5 Representacin de las soluciones (diagrama de Gantt)


El diagrama de Gantt es un mtodo grfico de representacin de la solucin; es una valiosa ayuda para resolver en forma emprica el problema. El diagrama de Gantt no es, en s mismo, un mtodo de resolucin de problemas de ordenamiento. Ejemplo: Sean 5 tareas I = (1, 2, 3, 4, 5) de duraciones d = (6, 3, 4, 5, 5) que usan, respectivamente, 4, 1, 3, 2, 3 unidades de recurso 1 y 8, 7, 10, 10, 4 unidades de recurso 2, y las fechas de ejecucin son: 0, 3, 6, 8, 10

91

Introduccin a la Investigacin de Operaciones

6.2 Modelado de los problemas de ordenamientos


Clsicamente las tareas sujetas a restricciones temporales se modelan con un grafo ponderado. Si se considera entonces el problema sin restricciones de recursos, los algoritmos de caminos, aplicados a este grafo, permiten calcular las secuencias de fechas ms tempranas y ms tardas, de comienzo y finalizacin de las tareas, como veremos ms adelante. Se trata entonces de encontrar un ordenamiento optimal en el espacio de soluciones del problema, restringido solamente a ligaduras temporales, o relaciones de sucesin en el tiempo. Este es llamado problema central de los ordenamientos. Existen variantes de modelado que permiten la introduccin de restricciones de recursos, por ejemplo redes de Petri temporizadas, grafos bivaluados, entre otros.

6.2.1 El problema central de los ordenamientos.


Se trata de ordenar, en una duracin minimal, un conjunto I = {1,...n} de tareas sujetas a restricciones temporales del tipo desigualdad de potencial: tj - ti aij, i,j I donde ti (respectivamente tj) es la fecha de comienzo de la tarea i (resp. j) y aij un real cualquiera.

92

Introduccin a la Investigacin de Operaciones

El objetivo es minimizar (Tmax):


Min (maxi (ti + di)) sujeto a: tj - ti aij

6.2.2 Modelado: grafo potencial-tareas.


El problema central se plantea fcilmente como un programa lineal, pero su resolucin es mas eficiente asocindole un grafo ponderado G = (X,U,W), que llamaremos de potencial-tareas. El conjunto de vrtices X tiene asociado: al conjunto I de tareas, ms dos tareas adiccionales, ficticias, una de inicio que llamada tarea 0 y una de fin, la tarea n+1. X = I {0, n+1}. Las tareas 0 y (n+1) tienen duracin nula. El conjunto de arcos U contiene: arcos (0, i), con ponderaciones w(0,i) = 0, arcos (i, j) asociados a las restricciones potenciales, con ponderaciones w(i,j) = aij , y arcos (i,n+1) con w(i,n+1) = di . En este modelo es importante destacar dos propiedades: a) las restricciones redundantes pueden suprimirse. La redundancia de restricciones se expresa de la siguiente manera: si tres arcos (i,j), (j,k) y (i,k) son tales que aik aij + ajk, el arco (i, k) puede suprimirse. b) t0 = 0, para asegurar la positividad de una solucin. Las desigualdades de potencial y sus arcos asociados permiten expresar una gran variedad de restricciones, como ser: Fecha de disponibilidad ci: ti ci, implica la restriccin potencial (ti-t0) ci Fecha mas tarda admitida de finalizacion, fi: (ti + di) fi, (t0 - ti) (di - fi), Sucesin larga, la tarea j no puede comenzar antes del fin de la tarea i: tj ti + di, tj - ti di Sucesin inmediata: la tarea j empieza exactamente cuando termina la tarea i: (tj ti+ di) y ti tj + di (tj - ti) di y (ti - tj) -di

Observar que con este modelo no se pueden tener en cuenta restricciones disyuntivas, es decir, sus intervalos de ejecucin deben ser disjuntos (i antes que j o j antes que I). Esto ocurre por ejemplo, si dos tareas necesitan un mismo recurso, cuya disponibilidad no es suficiente para la ejecucin de ambas en simultneo, esta 93

Introduccin a la Investigacin de Operaciones

restriccin no puede ser representada por una conjuncin de desigualdades de potencial.


Ejemplo: Sean 5 tareas I = {1, 2, 3, 4, 5}, y sus resp duraciones d = {1, 3, 1, 2, 1}. Las tareas estn sujetas a las siguientes restricciones temporales: la tarea 2 comienza en la fecha 3: [t2 - t0 3] y [t0-t2 - 3] las tareas 3 y 4 deben superponerse por al menos una unidad de tiempo: [t3 t4+d4 -1] y [t4 t3+d3 - 1] la tarea 4 puede comenzar solamente despus del fin de las tareas 1 y 2: [t4 - t1 d1] y [t4 - t2 d2] la tarea 5 no puede empezar antes del comienzo de la tarea 3 [t5 t3]

Este problema lo modelamos mediante un grafo de potencial-tareas(primera figura), la segunda figura resulta de suprimir las restricciones redundantes:

6.3 Mtodos de Camino Crtico


El mtodo de camino crtico que presentamos es un mtodo polinomial, no resuelve mas que un tipo de problema de ordenamiento, muy sencillo, en el cual slo se consideran restricciones potenciales. Existen variantes a ste mtodo que permiten introducir otro tipo de restricciones, aunque no asegura optimalidad.

94

Introduccin a la Investigacin de Operaciones

6.3.1 Conceptos generales


Definicin: Grafo conjuntivo: Un grafo conjuntivo es un grafo G = (X, U, W), ponderado, con un nodo raiz 0 y otro final n+1, tal que existe un camino de valor positivo entre la raiz y todo otro nodo del grafo, y un camino de valor positivo entre todo nodo distinto del nodo final y el nodo final del grafo. Definicin: Conjunto de potenciales: Un conjunto de potenciales sobre un grafo conjuntivo G=(X, U, W) es una aplicacin t : XR, tal que t0 = 0 y para todo arco conjuntivo (i,j) de ponderacin w(i,j)=wij, se tiene la restriccin potencial: (tj - ti) wij. Teorema de Existencia: Una condicin necesaria y suficiente para que exista un conjunto de potenciales sobre un grafo conjuntivo G=(X ,U, W) es que este grafo no contenga circuitos de valor estrictamente positivo.

Demostracin: ( ) Por absurdo. Sea [1,2,...r,1] un circuito de valor estrictamente positivo: w12 +....+ wr1 > 0. Si existiera un conjunto de potenciales sobre G, tendramos t2 -t1 w12 .... tr-tr-1 w(r-1)r t1-tr wr1 Sumando tendramos w12 + ...+ wr1 0, absurdo. () Por hiptesis, G conjuntivo (existe al menos un camino de valor positivo que va de 0 a i) y no existen circuitos de valor positivo. Por lo tanto, tomando un camino que va de 0 a i y suprimiendo circuitos de valor negativo, se puede extraer un camino elemental de 0 a i de valor por lo menos la del camino original. El nmero de caminos elementales es finito, entonces existe un camino elemental de valor maximal de 0 a i. Notemos ri el valor de este camino y verifiquemos que R={ri} i I es un conjunto de potenciales: r0 = 0, rj es el valor mximo de los caminos elementales de 0 a j. ri + w(i,j) es el valor de un camino de 0 a j pasando por i con un valor ri, por lo tanto ri + w(i,j) rj, w(i,j) = wij o sea: rj ri wij, i, j I L.Q.Q.D.
Corolario 1: Si un grafo conjuntivo no tiene circuitos, existe siempre al menos un conjunto de potenciales asociados. Corolario 2: Si las ponderaciones de los arcos de un grafo conjuntivo son positivas o nulas, existe al menos un conjunto de potenciales sii todos los circuitos son de valor nulo.

95

Introduccin a la Investigacin de Operaciones

De ahora en adelante, suponemos que el grafo conjuntivo no contiene circuitos de valor positivo. Sea V(i,j) el valor maximal de un camino de i a j, por convencin V(i,i) = 0 y si no hay camino de i a j V(i,j) = -.
Lema 1: Para toda pareja (i,j) de vrtices se tiene tj - ti V(i,j). Demostracin: Sea [i, h,...,k, j] un camino de i a j de valor V(i,j), Por definicion de potencial: th-ti wih, ..., tj-tk wkj, sumando todos los trminos obtenemos: tj - ti wih + ...+ wkj = V(i,j). L.Q.Q.D. Proposicin 1: Para todo conjunto de potenciales T = {ti}, se tiene: ri ti. Demostracin: Segn el lema anterior, ti-t0 V(0,i), luego V(0,i) = ri , t 0= 0, entonces, ri ti L.Q.Q.D.

Esta propiedad muestra que para el conjunto de potenciales R, las tareas se ejecutan lo ms temprano posible.
Conjunto de potenciales optimales, camino crtico: En los mtodos de potenciales se buscar un ordenamiento de duracin total minimal. Este ordenamiento corresponder a un conjunto de potenciales tal que tn+1 sea minimal. Segn la proposicin 1, tn+1 es minimal cuando se cumple la igualdad. Luego rn+1 = V(0,n+1), o sea el valor maximal de un camino que va de 0 a n+1. Este camino se llama camino crtico y notaremos t* su valor. Proposicin 2: Sea F = {fi = [V(0,n+1) - V(i,n+1)] / iX}. F es un conjunto de potenciales ptimo. Adems si T es otro conjunto de potenciales optimal, se tendr: ti fi F es un conjunto de potenciales en el cual todas las tareas se ejecutan lo ms tarde posible. Demostracin: Veamos primero que F es un conjunto de potenciales

Si (i,j) U,

wij + V(j,n+1) V(i,n+1) wij [V(0,n+1) - V(j,n+1)] - [V(0,n+1) - V(i,n+1)] wij fj - fi, y este conjunto de potenciales es optimal ya que fn+1 = V(0,n+1) = t*

Si T es un ordenamiento optimal, tomemos j = n+1 en (lema 1) : ti tj - V(i,j), ti tn+1 - V(i,n+1) V(0,n+1)- V(i,n+1) = fi, ti fi

96

Introduccin a la Investigacin de Operaciones

6.3.2 Mtodo de potencial-tareas


Veamos el siguiente ejemplo: se debe ejecutar, en una duracin minimal, siete tareas ligadas por las siguientes restricciones potenciales: tarea 1 2 3 4 5 6 7 duracin 3 7 4 6 5 3 2 restricciones potenciales

la tarea 1 precede a la tarea 3 las tareas 1 y 2 preceden a la 4 la tarea 3 precede a la 5 las tareas 3 y 4 preceden a la 6 la tarea 6 precede a la 7

Grafo de potencial-tareas asociado Un ordenamiento es un conjunto de potenciales T={ti:iX} sobre el grafo. La fecha ti, es la fecha de comienzo de ejecucin de la tarea i. Un ordenamiento de duracin minimal es uno tal que minimiza tn+1, o sea de valor tn+1 = V(0,n+1) = t*. Entre los ordenamientos optimales, los ordenamientos ms tempranos, R, y los ms tardos, F, son particularmente los ms interesantes, ya que ri ti fi. Resolver los ordenamientos ms tempranos y ms tardos R y F que estn definidos por V(0,i) = ri y fi = V(0,n+1) - V(i,n+1), equivale a resolver problemas de caminos en grafos. Se usa el algoritmo de Bellman sobre grafos conjuntivos, algoritmo de complejidad O(m), m = nro. de restricciones potenciales. Lo ms comn son grafos con ponderaciones estrictamente positivas en sus arcos, y la existencia de circuitos implica la no existencia de soluciones. En presencia de circuitos de valor negativo se puede por ejemplo utilizar el algoritmo de Ford (O(n3)). Aplicando el algoritmo de Bellman al ejemplo anterior, encontramos: r0 = r1 = r2= 0, r3 = 3, r4 = r5 = 7, r6 = 13, r7 = 16, r8 = 18; el clculo de las fechas ms tardas es anlogo, f0 = 0, f4 = 4, f2 = 0, f3 = 9, f4 = 7, f5 = f6 = 13, f7 = 16, f8 = 18.

97

Introduccin a la Investigacin de Operaciones

Precondicin: El grafo no tiene ciclos.


Algoritmo de Bellman para las fechas ms tempranas ri y ms tardas fi

Marcar el nodo 0 con r0 = 0, Mientras existan nodos sin marcar; Sea j un nodo no marcado con todos sus predecesores marcados, marcar j con rj = max i U- (j)(ri+wij); Fin Mientras Marcar el nodo n+1 con fn+1 = rn+1 Mientras existan nodos sin marcar; Sea i un nodo no marcado con todos sus sucesores marcados, marcar i con fi = min j U+ (i)(fj-wij); Fin Mientras

6.3.3 Holguras
Los mrgenes u holguras tienen por funcin evaluar la demora o el retardo permitido en una tarea, sin modificar "demasiado" los resultados. Definiremos el margen u holgura total Mi, la holgura o margen libre mi, y el margen seguro ui.
Holgura total Mi de una tarea i es el tiempo que se puede retardar una tarea sin afectar la fecha de fin de proyecto. Mi es entonces, la diferencia entre la fecha ms tarda y la ms temprana: Mi = fi-ri. Holgura libre mi de una tarea i es el tiempo que se puede retardar esa tarea de forma que las tareas sucesoras puedan empezar en la fecha ms temprana: mi = Min [jU+(i)] {rj-(ri+wij)} Margen seguro ui de una tarea i es el tiempo disponible para comenzar la ejecucin de una tarea, cuando las predecesoras empiezan en sus fechas ms tardas y las sucesoras en sus fechas ms tempranas, si existe y si no es nulo: ui= Max {0, min [jU+(i)] (rj-wij) - max [kU-(i)] (fk+wki)} Camino crtico: los caminos de valor maximal que van de 0 a n+1, juegan un rol central en este mtodo, ya que toda tarea que compone alguno de estos caminos tienen un holgura total nula. Se dice que estas tareas son crticas ya que si se retardan unidades de tiempo, el ordenamiento se retardar tambin unidades.

98

Introduccin a la Investigacin de Operaciones

Proposicin: se cumple que ui mi Mi Demostracin:

Mi m i Mi = fi - ri [definicin de Mi] = min [jU+(i)] {fj - wij} - ri [definicin de fi] = min [jU+(i)] {fj - wij - ri } [propiedades de min] = min [jU+(i)] {fj - (ri + wij)} [aritmtica] min [jU+(i)] {rj - (ri + wij)} [fj >= rj] = mi [definicin de mi] Queda probado que Mi mi mi ui mi = min [jU+(i)] {rj-(ri+wij)} [definicin de mi] = min [jU+(i)] {rj - wij)} - ri [propiedades de min] = min [jU+(i)] {rj - wij)} - max [kU-(i)] {rk + wki} [definicin de ri] max {0, min [jU+(i)] (rj-wij) - max [kU-(i)] (fk+wki)} [-rk >= -fk] = ui [definicin de ui] Queda probado que mi ui

6.3.4 Optimizacin de la funcin de costos


Por razones tcnicas o econmicas la duracin de cada tarea puede estar limitada entre dos cotas: Ii y Si (Ii di Si). El tiempo Si corresponde a la duracin normal de la tarea i, y es la duracin correspondiente a un costo mnimo (inversin mnima en recursos de forma cumplir con la tarea i). El tiempo Ii por el contrario corresponde a la duracin de la operacin acelerada al mximo (invirtiendo todos los recursos necesarios y disponibles) y por consiguiente su costo sera tambin mximo. Sean Ci el costo total de la tarea i y di la duracin de la tarea i. Fijado un valor para di; si se pretende que la tarea dure menos que dicho valor, en general, esto implica la utilizacin de un nmero mayor de recursos y por consiguiente un costo mayor. Es posible entonces, establecer una relacin funcional entre la duracin de la tarea i y el costo asociado. Sea Ci = f(di) la curva de costos de la tarea i en funcin de la duracin de la tarea i. Es comn suponer que el costo crece cuando di decrece hasta Ii, ms all del cual ya no se puede efectuar el trabajo.

99

Introduccin a la Investigacin de Operaciones

Disminucin del costo total de un programa: No se trata aqu de buscar el ptimo de un programa, sino solamente de mostrar cmo los mtodos de camino crtico permiten disminuir el costo total actuando sobre las tareas no crticas. El costo total del proyecto es: C = [iU]Ci. Para disminuir el costo total C, manteniendo la misma duracin de ejecucin, ser preciso disminuir los mrgenes libres de las operaciones no crticas, dentro de los lmites impuestos por las restricciones. Disminuir el margen libre de una tarea equivale, segn la grfica precedente, a disminuir los costos. Procediendo de esta forma puede suceder que se creen nuevos caminos crticos. Variacin lineal del costo en funcin de la duracin. Programa lineal paramtrico: Se supone que, para cada tarea ti la curva de costos Ci = f(di) es de la forma:

Ci = Ki - ni*ti , con Ii ti Si

El problema planteado se traduce al siguiente programa lineal: Min sujeto a: [(i,j)U](Ki - ni*ti) Ii di Si, [(i,j)]di del grafo conjuntivo.

Donde representa los caminos que van de la raiz al final, y es un parmetro que representa la duracin total del proyecto.

100

Introduccin a la Investigacin de Operaciones

7. PROCESOS ESTOCSTICOS 7.1 Introduccin


7.1.1 Experimentos, espacio muestral, evento.
Un experimento es un proceso (o un procedimiento) cuyo resultado se puede observar, pero cuyo valor no podemos determinar anticipadamente con certeza. Cada resultado posible del experimento se llama punto muestral y se denomina wi. Un espacio muestral es el conjunto de todos los resultados del experimento que a priori se conocen como posibles: = {wi: wi es un resultado observable del experimento}. Un espacio muestral define un modelo de experimento. Un evento es un conjunto de puntos muestrales, pudiendo ser cualquier subconjunto del espacio muestral, un punto, una coleccin de puntos o el espacio muestral completo. Un evento A consiste en el conjunto de aquellos puntos muestrales wj que representan resultados del experimento en los cuales A ocurre. Como describir la variacin esperada (cuando es numerable)? 1) Dado un espacio muestral discreto , se particiona en una familia de eventos disjuntos (Ej) j0. 2) Se supone que a cada evento le corresponde un nmero llamado probabilidad del evento Ej, denotada P(Ej), que es una medida de la posibilidad de ocurrencia del evento Ej en el espacio muestral, P(Ej) 0, P(Ej) = 1, Ej. La imposibilidad de ocurrencia de Ej se denota: P(Ej) = 0. En ese caso, si el espacio muestral es finito, es posible eliminar Ej. 3) Se define un Algebra A sobre los eventos que conforman el espacio muestral. As se obtiene la terna (, A, P) que define un modelo probabilstico de la porcin del universo o sistema que se quiere estudiar. Cuando no es numerable, es necesario definir una sigma-lgebra y una medida P sobre los eventos de la misma.

7.1.2 Variables aleatorias


Para operar naturalmente con los eventos observados, se introduce el concepto de variable aleatoria (v.a.). Se llama variable aleatoria X a una funcin definida sobre un espacio muestral, es decir una regla nica que asocia un nmero xj a cada punto j del espacio muestral. Se nota (X = xj) al evento en el que X toma el valor xj (con notacin de conjuntos, podramos dar el evento como {wj | X(wj) = xj}).

101

Introduccin a la Investigacin de Operaciones

El dominio de la funcin variable aleatoria son los eventos, por lo que a cada valor posible de una variable aleatoria podemos asociar una medida de probabilidad, definiendo as la distribucin de probabilidad de la variable. Si X es una variable aleatoria discreta, y {xj, j=1,2,3,...} es el conjunto de los valores que puede tomar , entonces P(X=xj) = p(xj) 0, j=1,2,3,... y j p(xj)=1. es la distribucin de probabilidades de la v.a. X. Siempre que p(xj) satisfaga estas condiciones es lcito hablar de una v.a. que asume los valores x1, x2,...xN con probabilidad p(x1), p(x2),.., sin hacer ms referencias al espacio muestral original; se forma un nuevo espacio con los puntos muestrales x1, x2,... xN. Si Y es una v.a. continua (su recorrido es el conjunto de los Reales, R), la probabilidad de que tome un valor fijo es en general nula, y existe una funcin fY(y) llamada funcin de densidad en R, que verifica la propiedad siguiente:
B R, P(Y B) =
B

f Y ( y )dy, y

f Y ( y )dy = 1

Toda afirmacin acerca de una v. a. X o Y se puede responder en trminos de su distribucin de probabilidad o de su Funcin de distribucin, F(a) (tambin notada como FX(a)). p( x ) si la v.a. X es discreta
F (a ) = P( X a ) =
x a a

f X ( x )dx

si la v.a. X es continua

Para describir las distribuciones de probabilidades se utilizan adems valores tpicos, como ser mediana, trmino central, etc. La Esperanza es el valor tpico ms importante de una v.a. por su estabilidad muestral. x j p( x j ) si la v.a. X es discreta
E( X ) =
xX

xf X ( x )dx si la v.a. X es continua

Media, Valor Esperado y primer momento son sinnimos de Esperanza matemtica de una distribucin. El segundo momento es E(X2), el tercer momento E(X3), etc. Sea X una v.a. con segundo momento E(X2 ) y esperanza E(X), se define un nmero llamado Varianza de la v.a. X, Var (X), como el segundo momento de X en torno a su media:

102

Introduccin a la Investigacin de Operaciones

Var ( X ) = E ( X E ( X )) =
2

x j

(x

E ( X )) p (x j ) si X discreta
2

( x E ( x ))2 f ( x )dx

si X continua

Es fcil demostrar la siguiente frmula alternativa: Var(X)= E(X2) - E2(X ) Dispersin es usualmente sinnimo de varianza ya que es una medida burda de la dispersin de la v.a. respecto de su media. Un valor elevado de la varianza indica que X toma valores alejados de la media. Se define como Desviacin Estndar a la raz cuadrada de la varianza = Var ( X ). El coeficiente de variacin, r, es otra medida de la variacin de una distribucin, que tiene la ventaja de ser adimensional: = Var ( X ) / E ( x ) .
Ejemplo de v.a. discreta: Indicatriz de un evento

Sea A un evento cualquiera. Definimos la variable aleatoria "Indicatriz del evento A", que notamos por IND(A), a una v.a. binaria, que toma valor 1 cuando el evento A se produce, y valor 0 en otro caso. Por lo tanto: P(IND(A)=1) = P(A) P(IND(A)=(0) = 1-P(A) Es fcil ver que: E(A) = 1.P(A)+ 0.(1-P(A))=P(A) y que Var(IND(A)) = E(IND(A) 2) - E2(IND(A )= (12.P(A)+ 02.(1-P(A))) - P(A) 2 = P(A) -P(A) 2 = P(A)(1-P(A)).

Ejemplo de v.a. discreta:

Distribucin de Poisson

N es una v.a. de distribucin Poisson y parmetro >0 si: k e k 0, > 0 P (N = k ) = p N (k ) = k! Se puede demostrar que 1) P (N = k ) 0
=1 k! 3)E( N ) = Var( N ) = Con frecuencia se supone que el nmero de llegadas de clientes a un negocio, durante un intervalo de tiempo, o la demanda de un producto, se comportan segn una distribucin Poisson. es el parmetro de la distribucin, correspondiendo a la intensidad de llegadas por unidad de tiempo. 2)
k =0

k e

103

Introduccin a la Investigacin de Operaciones

Aclaracin: Modelando siempre es necesario realizar simplificaciones de la realidad, ahora, se debe simplificar lo suficiente para que el modelo sea tratable matemticamente, pero no demasiado como para que el modelo ya no sea una representacin del fenmeno real.

Ejemplo de v.a. continua:

Distribucin Exponencial

Decimos que una v.a. X continua es exponencial con parmetro , >0, cuando: e x x 0 f X ( x) = x<0 0
x

P( X x) =

f X (t )dt =

1 e x x 0 0 x<0 1

E( X ) =

Var(X) =

Se puede demostrar que si X es una v.a. esponencial, entonces 1 1 E( X ) = Var(X) = 2 Generalmente se procura trabajar con v.a. que reflejen con la mayor simplicidad posible las propiedades realmente esenciales de los resultados del experimento. En muchos casos la observacin de un experimento aleatorio no viene expresada por una sola cantidad observada, sino simultaneamente por una cierta cantidad de variables aleatorias.

Definiciones
Se llama Distribucin Conjunta de dos v.a. X e Y discretas, definidas en un mismo espacio muestral (discreto), a la funcin P(X = xj, Y = yk) = PXY (xj, xk) xj ,xk

que asigna probabilidades a todos los eventos simultneos que surgen de las combinaciones de los pares de valores (xj, yk) que toman X e Y respectivamente. (X=xj, Y=yk) es el evento definido por el par de sucesos que satisfacen simultaneamente las condiciones X = xj, e Y = yk. Se dice que 2 variables son estocsticamente independientes si para toda combinacin de pares de valores (xj, yk) P ( X = x j , Y = y k ) = P ( X = x j )P(Y = y k ) Estas nociones se extienden a un conjunto finito de v.a. X, Y, ..., Z definidas en un mismo espacio muestral. Estas variables sern mutuamente independientes si se verifica que su probabilidad conjunta es igual al producto de las probabilidades individuales de cada una de ellas.

104

Introduccin a la Investigacin de Operaciones

7.1.3 Probabilidad Condicional


P( A B ) si P( B ) > 0 P( B) Para v.a. (caso particular del anterior): P( Y = y k , X = x k ) P( X = x k ) > 0 P( Y = y k | X = x j ) = P( X = x k ) Se deduce, extendindolo a ms de dos variables: P (Y = yk , X = x j , W = wn ) = P Y = yk | X = x j , W = wn P X = x j | W = wn P (W = wn ) . Para eventos: P( A | B ) =

)(

Clculo de la Probabilidad de un evento E, condicionndolo a la ocurrencia de eventos exhaustivos y mutuamente excluyentes (teorema de la probabilidad total):

Sea {Bi , i N } una particin de , es decir un conjunto de eventos Bi tales que a) son dos a dos disjuntos: Bi B j = , i, j N b) su unin es : Entonces P(E ) = tenemos que P(E ) =
k k

P(E Bk ) , y si los eventos son tales que P(B k ) 0 P(E B k )P(Bk ) (teorema de probabilidad total).

Bi = k ,

Si tenemos que Y es una variable aleatoria discreta, entonces los eventos Bk= (Y= yk) son exhaustivos y mutuamente excluyentes, es decir conforman una particin de , por lo que E se puede expresar de la siguiente manera:
E = ( E , Y = y1 ) P( E ) =
k =1

( E , Y = y2 )

... ( E , Y = y k )

.....

P( E , Y = y k ) =

k =1

P( E | Y = y k ) P( Y = y k )

Existe una propiedad anloga en el caso continuo, pero es necesario que la varianza de Y sea finita: si Var(Y)<, entonces

P (E ) =

P(E Y = y ) fY ( y )dy

Ejemplo 7.1.1:

Un cliente que entra a una tienda compra un sombrero con probabilidad p. Si el nmero de clientes que ingresan por da sigue una distribucin Poisson de valor esperado , Cul es la probabilidad de que no se venda ningn sombrero en un da? Se define X como el nmero de sombreros vendidos y N como el nmero de clientes que llegan a la tienda. Condicionando en N

105

Introduccin a la Investigacin de Operaciones


n =0 n =0

P( X = 0) =

P( X = 0 | N = n )P( N = n ) =

(1 p ) n

e n = e e (1 p ) = e p n!

Esperanza Condicional La esperanza condicional E(X|Y) es una nueva variable aleatoria definida en base a dos variables X e Y, definida de la siguiente forma:

E( X | Y ) =
y x

xP( X = x | Y = y ) IND(Y = y ) .

Tenemos que si Y toma el valor y, entonces entonces E(X|Y) tomar el valor: E ( X | Y = y ) = xP( X = x | Y = y ) = xp X |Y ( x | y )
x x

Si X es independiente de Y, la esperanza condicional ser una v.a. constante, de valor igual a la esperanza incondicional, ya que para todo y, E X |Y = y = xP( X = x | Y = y ) = xP( X = x) = E ( X )

Ejemplo 7.1.2:

Sea p(x,y):

p(1,2) = 0.1, p(2,1)=0.1, p(2,2)=0.3. P( x = x, Y = 1) = 1 p X |Y (1 | 1) + 2 p X |Y (2 | 1) = E[ X | Y = 1] = xP( X | Y = 1) = x P(Y = 1) x x p (1,1) p(2,1) 5 2 7 = +2 = + = pY (1) pY (1) 6 6 6

p(1,1) = 0.5,

7.1.4 Propiedades de v.a. Exponenciales


Propiedad 1 La propiedad fundamental de la distribucin exponencial es que no tiene memoria.

Se dice que una v.a. X no tiene memoria si: P ( X > s + t| X > t ) = P ( X > s ) s , t 0 lo que es equivalente a P( X > s + t , X > t ) = P( X > s) P( X > t ) y entonces P( X > s + t ) = P( X > s) P( X > t ) . Esta ecuacin se satisface cuando X es exponencial ya que e ( s+ t ) = e se t . Tambin se demuestra que la distribucin exponencial es la nica distribucin continua que verifica esa propiedad (as como la distribucin geomtrica es la nica distribucin discreta que verifica esta propiedad).

106

Introduccin a la Investigacin de Operaciones

Propiedad 2 Sea T1 y T2 variables aleatorias exponenciales independientes de tasa 1 y 2 respectivamente. Entonces T=min(T1,T2) es una v.a. exponencial de parmetro (1+2). Dem: 1 FT (t ) = P(T1 > t , T2 > t ) = (indep. T1 y T2 ) = P(T1 > t ) P (T2 > t ) = e 1t e 2t = e (1 + 2 )t

por lo tanto T tiene la distribucin de una v.a. exponencial de parmetro (1+2).


Ejemplo 7.1.3 Considere el negocio de venta de sombreros. Si T1 representa el tiempo entre la llegada de un cliente y el siguiente, y T2 el tiempo de atencin al cliente, suponemos que ambos tiempos son exponenciales (no tienen memoria). Se quiere estudiar el comportamiento conjunto de ambas distribuciones. Observemos el tiempo T transcurrido hasta que uno de los eventos T1 y T2 ocurra. Interesa entonces: T = min(T1, T2)

Consideremos T t P(T t ) = 1 P(T > t ) = 1 P(min(T1 , T2 ) > t ) = 1 P(T1 > t , T2 > t )

= 1 P(T1 > t ) P(T2 > t ) = 1 e ( + )t Ya que T1 y T2 son independientes y s min(T1, T2) > t ( T1 >t, T2 >t) Si dos v.a. exponenciales independientes ocurren simultneamente, en conjunto se comportan segn una distribucin exponencial, con tasa igual a la suma de las tasas individuales de cada una de ellas.
Propiedad 3 Clculo de la probabilidad de que una v.a. exponencial ocurra antes que otra.

Sean X1 y X2 v.a. exponenciales independientes, con respectivas esperanzas 1/1 y 1/2 . Se desea calcular P(X1 > X2) [similar para P(X2>X1)]. Condicionando en X2

P( X 1 < X 2 ) = P X 1 < X 2 | X 2 = x f X 2 ( x )dx = P( X 1 < x ) 2 e 2 x dx


0 0

= 1 - e -1 x 2 e 2 x dx = 1 2 e ( 1 + 2 ) dx
0 0

= 1-

2 1 + 2

(1 + 2 )e ( + ) dx = 1
1 2

2 1 + 2

1 1 + 2

Ejemplo 7.1.4: Suponga un sistema de colas (negocio de venta de sombreros) con un solo empleado . El intervalo de tiempo que transcurre entre la llegada de un cliente y el siguiente se describe con una v.a. exponencial X1, de esperanza 1/2 hora. El tiempo que le

107

Introduccin a la Investigacin de Operaciones

lleva al empleado atender a cada cliente se comporta segn otra v.a. exponencial, X2, independiente de X1, de valor esperado 15 minutos. Cul es la probabilidad de que un nuevo cliente llegue antes de que el servidor termine de atender al cliente que est atendiendo? y viceversa? X1 = tiempo entre llegadas sucesivas X2 = tiempo de atencin al cliente E(X1) = 1/1 = 0,5 horas; 1 = 2 E(X2) = 1/2 = 0,25 horas; 2 = 4 1 1 P( X 1 < X 2 ) = = 1 + 2 3

7.2 Procesos Estocsticos


7.2.1 Definiciones
En la seccin anterior hemos visto como realizar modelos que describan situaciones correspondientes a la observacin del resultado de un experimento puntual. Ahora estudiaremos las herramientas a utilizar cuando el experimento que queremos modelar no es puntual, sino que evoluciona en el tiempo. Para estos casos se introduce el concepto de proceso estocstico, definindolo como una familia de v.a. que describen la evolucin, a travs del tiempo, de un proceso fsico o experimento. Definimos un proceso estocstico X=(Xt, tT) como una familia de variables aleatorias, cuyo ndice tT es llamado el conjunto de los ndices (o parmetro de tiempo) del proceso X. Para cada tT, Xt es una variable aleatoria sobre el espacio de estado del proceso X. Definimos el espacio de estado de un proceso estocstico X como el conjunto mnimo E de todos los valores posibles que las v.a. Xt puedan asumir; cada uno de estos valores es un estado posible del sistema. Notamos (Xt = e) el evento que indica que en el instante t el proceso se encuentra en el estado e. Si E es un conjunto finito o infinito numerable de estados se dice que el proceso X es de espacio de estado discreto. Si en cambio las v.a. Xt toman sus valores en un conjunto E continuo (por ejemplo, los reales positivos) se dice que el proceso es de espacio de estado continuo. Cuando T es un conjunto numerable el proceso (Xt , tT) es de tiempo discreto (tambin llamado sucesin estocstica o proceso en etapas). El caso ms comn es cuando T=N (los naturales) o T=N* (los enteros positivos). Cuando T es un intervalo real, finito o no, el proceso es de tiempo continuo.
Ejemplo 7.2.1 Consideremos un sistema de atencin al pblico. Podemos definir el proceso estocstico X tomando Xt = nmero de clientes esperando en el instante t. En este caso tenemos que E=N y T=R+, por lo que X es un proceso de espacio de estado discreto y tiempo continuo.

108

Introduccin a la Investigacin de Operaciones

Si en cambio consideramos el proceso estocstico Y tal que Yn = tiempo de espera del n-simo cliente, tendremos que E=R+ y T=N, por lo que Y es de espacio de estado continuo y tiempo discreto.

7.2.2 Procesos estocsticos de tiempo y espacio de estado discretos


Estudiaremos a continuacin los procesos estocsticos de tiempo y espacio de estado discretos X = {Xn, nN}, de parmetro de tiempo que vara sobre los nmeros naturales. En este caso tenemos que e pertenece al mnimo espacio de estado E del proceso X, e E N > 0 tal que P(XN = e) > 0. Para estudiar estos procesos supondremos conocida la probabilidad condicional de que el proceso est en el estado en en la etapa n, bajo la hiptesis de que sabemos que el proceso estuvo en el estado e1 en la etapa 1, en el estado e2 en la etapa 2, y as hasta la etapa n-1 : P( X n = en | X 0 = e0 , X 1 = e1 , X 2 = e2 ,..., X n 1 = en 1 ) Esto nos da las leyes de probabilidad que determinan el comportamiento del proceso en cada etapa. Definimos la evolucin del proceso como la sucesin de estados por los que va pasando el mismo. Cada evolucin posible del proceso tiene una probabilidad de ocurrencia dada por la distribucin conjunta de las probabilidades de ocurrencia en cada etapa, P( X n = en , X n 1 = en 1 ,..., X 2 = e2 , X 1 = e1 , X 0 = e0 ) . Para calcular esta probabilidad utilizamos el producto de las probabilidades condicionales dadas para cada etapa: P( X n = en , X n 1 = en 1 ,..., X 2 = e2 , X 1 = e1 , X 0 = e0 )

= P( X n = en | X n 1 = en 1 ,..., X 2 = e2 , X 1 = e1 , X 0 = e0 )... P( X 1 = e1 | X 0 = e0 ) P( X 0 = e0 ) = P( X 0 = e0 ) P( X i = ei | X i 1 = ei 1 ,..., X 0 = e0 )


i=2 n

= P( X n = en | X n 1 = en 1 ,..., X 2 = e2 , X 1 = e1 , X 0 = e0 ) P( X n 1 = en 1 ,..., X 1 = e1 , X 0 = e0 )

Cada evolucin corresponde a un punto muestral de nuestro espacio de probabilidades de base, por lo que la probabilidad de la unin de todas las evoluciones posibles debe ser 1.
Ejemplo 7.2.2

Consideremos el siguiente experimento. Sean A y B dos monedas distintas, con A una moneda normal y B una moneda con una cara de cada lado. Se elige al azar una moneda entre las dos posibles. A continuacin se lanza la moneda elegida y se observa el resultado. Si es un nmero lanzamos un dado y observamos el resultado. Si es cara, la moneda se lanza nuevamente. Este es un experimento que evoluciona en el tiempo, y donde adems cada resultado depende de los resultados obtenidos anteriormente.

109

Introduccin a la Investigacin de Operaciones

Los estados posibles son: A = la moneda con cara y nmero fue elegida, B = la moneda con dos caras fue elegida, C = el resultado del lanzamiento de una moneda fue una cara, N = el resultado del lanzamiento de una moneda fue un nmero, 1 = el resultado del lanzamiento del dado fue 1, ... 6 = el resultado del lanzamiento del dado fue 6. Entonces el espacio de estado es E = {A, B, C, N, 1, 2, 3, 4, 5, 6}, discreto. Adems el proceso consta de tres etapas, por lo tanto T tambin es discreto. Esas etapas son: 1 seleccin de una moneda, 2 una moneda es lanzada, 3 se lanza una moneda o un dado. Sabemos que las probabilidades de que se elija A B es de 1/2 para cada una: P( X 1 = A) = P( X 1 = B ) = 0,5 Tenemos tambin: P( X 2 = C | X 1 = A) = P( X 2 = N | X 1 = A) = 0,5 y P( X 2 = C | X 1 = B ) = 1 Por ltimo: P( X 3 = C | X 2 = C , X 1 = B ) = 1

P( X 3 = C | X 2 = C , X 1 = A) = 1/ 2 P( X 3 = i | X 2 = N , X 1 = A) = 1 6 , i = 1,2,...6
Entonces podemos calcular la distribucin conjunta de probabilidades para cada evolucin del proceso. Dado un proceso estocstico de tiempo y espacio de estado discretos, es posible representar mediante un rbol de profundidad k todas las evoluciones posibles de k etapas.

P( X 3 = N | X 2 = C , X 1 = A) = 1 / 2

1/2

1/2
B

X1
1/2

1/2
N

1
C

X2
1/2

1/2
N

1/6
1

1/6

1
C

X3

La raz del rbol corresponde al estado inicial del proceso estocstico. A cada resultado posible de la n-sima etapa del proceso estocstico le corresponde un nodo 110

Introduccin a la Investigacin de Operaciones

del nivel n+1 del rbol. Los arcos estn ponderados por las probabilidades condicionales de transicin entre estados del proceso. La utilidad de esta representacin grfica consiste en: identificar todas las posibles evoluciones del proceso, como cadenas del rbol, calcular la probabilidad de ocurrencia de cada posible evolucin del proceso, calcular las distribuciones de probabilidad de los caminos de las etapas intermedias. Pero cuando el espacio de estado contiene muchos estados, o el nmero de etapas es grande, no es posible utilizar este rbol.

7.3 Cadenas de Markov


7.3.1 Introduccin
Entre las diferentes clases de procesos estocsticos se destacan los procesos markovianos, en los cuales el comportamiento y la evolucin futura del proceso no dependen ms que del estado actual del proceso, y no de su evolucin pasada. Las cadenas de Markov (C.M.) son procesos markovianos de espacio de estado discreto. Al igual que para cualquir proceso, se distingue entre cadenas de Markov de tiempo discreto y aquellas de tiempo continuo. El resto de esta seccin se ocupa de las cadenas de Markov finitas de tiempo discreto, es decir aquellas cuyo espacio de estado E es finito, y que evolucionan en etapas o pasos (T es discreto). Definimos formalmente una cadena de Markov como una secuencia de v.a. discretas {Xn, n N} que poseen la propiedad siguiente:

P( X n +1 = en +1 | X 0 = e0 , X 1 = e1 ,..., X n = en ) = P( X n +1 = en +1 | X n = en ), n N , e0 , e1 ,...en , en +1 E

(siempre que estas probabilidades estn bien definidas). Esta propiedad se interpreta como la afirmacin de que la probabilidad (condicional) de que el proceso alcance el estado futuro xn+1 dados los estados pasados x0, x1,...xn-1 y el estado actual xn es independiente de los estados pasados y depende solamente del estado presente xn (el pasado no influye en el futuro ms que a travs del presente).

7.3.2 Cadenas de Markov homogneas


Cuando las probabilidades condicionales de pasaje de un estado al otro son tambin independientes de la etapa n decimos que la cadena correspondiente es homognea en el tiempo (las v.a. del proceso conservan su distribucin en una traslacin en el tiempo) . Entonces las probabilidades condicionales se reducen a la expresin: P( X n +1 = j | X n = i ) = pij , i, j E , n 0 siempre que stas estn definidas. Los nmeros pij, i,jE, se llaman probabilidades de transicin y definen la probabilidad de que el proceso estando actualmente en el estado i pase al estado j en su prxima transicin, independientemente de la etapa n en que se encuentre el proceso. De aqu en ms solo consideraremos cadenas homogneas, salvo indicacin contraria.

111

Introduccin a la Investigacin de Operaciones

A cada estado iE est asociado un conjunto de probabilidades de transicin pij0 que describen el comportamiento de la cadena en su prxima etapa, indicando cuales son los estados j que pueden ser alcanzados desde el estado i y con qu probabilidad. El conjunto de los pij, i,j E forman la matriz de transicin de la cadena, que notaremos P. Los elementos de P son las pij ordenadas a partir de una numeracin fija de los elementos de E (eventualmente puede ser una matriz infinita): 0 j r 0 p00

p0 j pij prj

p0 r pir prr
0 i, j r = E

P = i pi 0 r pr 0

Cada fila i representa un estado presente i y cada columna j representa un posible estado futuro. La entrada i,j es la probabilidad de que la prxima transicin tenga al estado j por destino. La matriz P describe entonces para cada estado i E cuales son los estados j E que la cadena puede alcanzar en su prxima etapa y con que probabilidad, por lo que cada fila i es la distribucin de probabilidad (condicional) de la v.a. Xn+1 dado que Xn=i. Al ser cada fila una distribucin de probabilidad, se verifican las siguientes propiedades: pij 0, i, j E
j E

pij = 1, i E

Una matriz cualquiera que verifica estas ecuaciones recibe el nombre de matriz estocstica. Cuando adems la suma de las probabilidades de cada columna es 1 se dice que P es bi-estocstica.
Ejemplo 7.3.1 Consideremos un sistema de comunicaciones que transmite los dgitos 0 y 1. Cada dgito transmitido debe pasar por varios nodos (o centrales). Existe una probabilidad p, 0 < p <1, de que el dgito enviado desde un nodo contine incambiado cuando llega al nodo siguiente y sea reenviado, pero con probabilidad 1-p surgen perturbaciones en la lnea que modifican el dgito. Denominemos Xn al dgito enviado desde el nodo n, entonces Xn+1 es el dgito recibido en el nodo siguiente y retrasmitido. Para cualquier n, Xn solamente puede tomar los valores 0 o 1. Entonces el espacio de estado es E = {0, 1}

Esta cadena es homognea ya que las probabilidades de transicin no dependen de la etapa en la que nos encontramos; para cualquier par de etapas n y n+1, la probabilidad de que el proceso contine en el mismo estado cumple: P(dgito transmitido por la central n = dgito recibido por la central n+1) = p, n

112

Introduccin a la Investigacin de Operaciones

Definimos sus probabilidades de transicin: P(Xn+1=0Xn=0) = p00 = p P(Xn+1=1Xn=0) = p01 = 1p P(Xn+1=0Xn=1) = p10 = 1p P(Xn+1=1Xn=1) = p11 = p Con estos datos se construye la matriz P de transicin, ordenada como el espacio de estado E: P= 0 1 0 p 1p 1 1p p Vermos que se verifica: pij = pij = 1 , i, j {0,1}
j i

por lo que la matriz P es no slo estocstica sino tambien biestocstica.


Grafo asociado a una C. M. finita homognea

Sea X={Xn,n0} una cadena de Markov finita de espacio de estado E={1,2,...r}, |E|=r, y matriz de transicin P. Podemos asociar un grafo orientado ponderado G=(E,U,W) a la cadena X de la forma siguiente: E (espacio de estado de la cadena) es el conjunto de nodos U = {uij=(i,j)|i,jE, pij>0} es el conjunto de arcos orientados W es la funcin de ponderacin que asigna uij + (i) la probabilidad de transicin pij > 0 correspondiente, W(uij) = pij > 0. Como la suma de todas las probabilidades de transicin pij para cada fila i debe ser igual a 1, entonces el grafo asociado a una C. M. finita homognea no puede ser cualquiera, sino que la suma de las probabilidades asignadas a los arcos incidentes exteriormente a cada nodo debe ser igual a 1. Aunque el grafo retiene nada ms que las probabilidades de transicin entre dos estado, su estudio es muchas veces suficiente para conocer cualitativamente la evolucin del proceso.
Ecuaciones de ChapmanKolmogorov

Hasta aqu nos hemos ocupado solamente de las transiciones en una sola etapa de una cadena. Veremos a continuacin como estudiar de forma analtica la evolucin y las probabilidades de transicin en n etapas de una cadena de Markov. Definimos la probabilidad de transicin en n pasos, ( pijn ) = P( X n + m = j | X m = i ) , n, m 0, i, j E como la probabilidad de que el proceso, partiendo del estado i, llegue al estado j luego de n transiciones adicionales. Como consideramos cadenas homogneas estas probabilidades no dependen de cual es la etapa inicial m.

113

Introduccin a la Investigacin de Operaciones

Un caso particular de esta definicin se da cuando n=1: ( pij1) = P( X m+1 = j | X m = i ) = pij , m 0, i , j E que es la probabilidad de transicin en un paso ya estudiada, cuyos valores conforman la matriz de transicin P. Consideremos una evolucin (X0=e0,X1=e1,X2=e2,X3=e3,...Xn=en) de la cadena X, que en el grafo asociado corresponde a un camino (e0,e1,e2,e3,...en). Recordemos que la probabilidad de que el proceso siga esta evolucin es:
P( X n = e n , = P( X n = e n | X n 1 = e n 1 , X 1 = e1 , X 0 = e 0 )
por def. prob. condiciona l

X 1 = e1 , X 0 = e 0 ) P( X n 1 = e n 1 |
por C.M. homogenea

X 1 = e1 , X 0 = e 0 )

P( X 1 = e1 | X 0 = e 0 ) P( X 0 = e 0 )

p e n 1 e n p e n 2 e n 1

p e0 e1 p e0

donde p e0 es la probabilidad de que el proceso en su etapa inicial comience por el estado e0. Entonces la probabilidad de una evolucin del proceso es equivalente a la probabilidad P(c ) de un camino c en el grafo asociado (si conocemos el estado de partida e0). Esta probabilidad se calcula como el producto de las pij, asignadas a los arcos involucrados en el camino. Si llamamos Cn (i, j ) al conjunto de todos los caminos de n arcos que unen ei con ej entonces: P(c ) = probabilidad del camino c
( pijn ) =
cC n (i , j )

P(c )

Las ecuaciones de ChapmanKolmogorov nos dan una relacin recursiva entre las probabilidades de transicin en varios pasos. La primer formulacin de estas ecuaciones es la siguiente: ( ( ( pijn + m ) = pikn ) pkjm ) , n, m 0, i, j E
k E

Como justificacin intuitiva de esta ecuacin, vemos que pik.pkj representa la probabilidad de que partiendo del estado i el proceso llegar al estado j luego de n+m transiciones, siguiendo un camino que lo hace pasar por el estado k en la nsima transicin. Por lo tanto, tomando la sumatoria sobre todos los estados intermedios kE, obtenemos la probabilidad de que el proceso alcance el estado j luego de n+m transiciones (se suman ya que cada camino es una evolucin del proceso y las evoluciones del proceso son sucesos disjuntos).

114

Introduccin a la Investigacin de Operaciones

E Demostraremos a continuacin las ecuaciones de ChapmanKolmogorov:


( pijn +m ) = P( X n +m
def

P( X n + m = j, X o = i ) total = = j | X o = i) = P( X o = i )
def def . prob .

teo . prob.

P( X n +m = j, X n = k , X o = i ) condicional = = P( X o = i ) kE P( X n +m = j | X n = k , X o = i )P( X n = k , X o = i ) Markov = = P( X o = i ) kE = P( X n +m = j | X n = k )P( X n = k , X o = i ) = P( X o = i ) kE


kE prop . de

simplif .

P( X n + m = j | X n = k )P( X n = k | X o = i ) =

por def . kE

( ( pkjm ) pikn )

QED.

En el caso particular m=1, las ecuaciones de ChapmanKolmogorov se reducen a la expresin siguiente: ( ( pijn +1) = pikn ) pkj
( Esta expresin sugiere el uso de matrices para el calculo de las probabilidades pijn ) . Recordemos que si A es una matriz nxm de elemento genrico aij y B es una matriz mxq de elemento genrico bij, entonces AxB se define como la matriz nxq cuyo
m
k E

elemento genrico (i,j) est dado por


k =1

aik bkj .

Si A y B son estocsticas, AxB tambin es estocstica. Llamemos P ( n ) a la matriz estocstica de la nsima transicin, es decir cuyos ( elementos son las probabilidades pijn ) que queremos obtener. Entonces las ecuaciones de ChapmanKolmogorov se pueden reescribir como P (n + m ) = P ( n ) P (m ) en el caso general,

P (n +1) = P (n ) P

cuando m = 1.

Una propiedad importante que se puede demostrar a partir de esta formulacin es que la matriz de transicin en n pasos es igual a la n-sima potencia de la matriz de transicin en un paso, P: n P (n ) = (P ) 115

Introduccin a la Investigacin de Operaciones

Para demostrar esta afirmacin utilizaremos induccin completa: Paso base: observamos que P (1) = P , por definicin. Para n=2 , P (2 ) = P (1+1) = P (1)P (1) = PP = P 2 ( n 1) = P n 1 Paso inductivo: suponemos que para n-1 la frmula es cierta, P Entonces

(n )

=P

( n 1+1)

ec. C K

( n 1) (1)

P =P

( n 1)

hip . de induccin

P n 1P = P n

QED

Clasificacin de estados en una C. M. finita homognea

Para clasificar los estados de una C.M. finita vamos a definir la relacin de alcance entre los mismos. Decimos que el estado j es alcanzable desde i si y slo si es posible que el proceso alguna vez alcance o se encuentre en el estado j, habiendo partido de i. Esto es ( equivalente a pedir pijn ) > 0 para algn n0, ya que
( si n, pijn ) = 0, entonces P( X pasa por j | X 0 = i ) = P ( si N | pijN ) > 0, entonces P( X pasa por j | X 0 = i ) = P
n =1 n =1

{X n

= j | X 0 = i}

n =1

P( X n = j | X 0 = i ) = 0

{X n

= j | X 0 = i} P( X N = j | X 0 = i ) > 0

Decimos que dos estados i y j se comunican (notacin ij) cuando son alcanzables ( el uno desde el otro (o de forma equivalente cuando existen n,m0 tales que pijn ) > 0 y

p (jim ) > 0 ). Se define as la relacin de comunicacin que satisface las siguientes propiedades: 1) Reflexiva , ii iE ya que por definicin: ( pii0 ) = P( X 0 = i | X 0 = i ) = 1 > 0 2) Simtrica, si ij ji, i,jE se verifica por definicin de la relacin comunicacin. 3) Transitiva, si ij y jk ik, i,j,kE por hiptesis ij y jk, entonces por definicin de la relacin de comunicacin (n ) n, m > 0 | p ij > 0, p (jim ) > 0
( r r , t > 0 | p (jk ) > 0, p kjt ) > 0

Veamos primero que k es alcanzable desde i. Aplicando las ChapmanKolmogorov,


( pikn + r ) =
l E

ecuacines de

( ( ( r piln ) plkr ) pijn ) p (jk ) > 0

por H.

Entonces k es alcanzable desde i. Con el mismo procedimiento vemos que i es alcanzable desde k, entonces por definicin i y k se comunican. Por lo tanto la relacin de comunicacin es una relacin de equivalencia en el conjunto de estados del proceso, y por ende particiona al espacio de estado en clases 116

Introduccin a la Investigacin de Operaciones

disjuntas de equivalencia. Si consideramos el grafo asociado a la cadena, podemos ver que la relacin de comunicacin lo divide en sus componentes fuertemente conexas. En efecto, la relacin de comunicacin implica la existencia de caminos entre ambos nodos del grafo, es decir que si i y k se comunican entonces: n,m| c1Cn(i,j) y c2Cm(j,i). Por lo tanto los dos estados i y k pertenecen a la misma componente fuertemente conexa del grafo asociado a la cadena. Cuando una C.M. finita y homognea posee una sola clase, es decir si todos sus estados se comunican entre si, ij i,jE, se dice que la cadena es irreductible.
Ejemplo 7.3.3 Consideremos la siguiente cadena de Markov de espacio de estado E={0,1,2} con la siguiente matriz de transicin: 1 1 0 2 2

P=

1 1

4 3

1 2

4 3

Comprobamos que todos sus estados se comunican, por lo tanto esta cadena es irreductible (tiene una sola clase en el espacio de estado). Si observamos el grafo asociado, vemos posee una sola componente fuertemente conexa, por lo tanto es irreductible (tambin podemos llegar a esta conclusin a partir del hecho que la matriz es tridiagonal, por lo que no se la puede triangularizar por bloques). 1/4
1/2 1/2 0 1/2 1 1/2 2 1/3 2/3

Ejemplo 7.3.4 Sea la cadena de Markov de espacio de estado E= {0,1,2,3} y matriz de transicin P, 1 1 0 0 2 2 1 1 0 0 2 2 P=
1 4 1 4 1 4 1 4

0 0 0 1 Las clases de esta cadena son: {0,1}, {2}, {3}. Nota: si bien los estado 0,1 y 3 son alcanzables desde el estado 2, la accin inversa no es posible. En particular, como p33 = 1, desde el estado 3 no es posible acceder a ningn otro estado, por lo que decimos que 3 es un estado absorbente. El subgrafo asociado tiene 3 componentes fuertemente conexas.

117

Introduccin a la Investigacin de Operaciones

Estados recurrentes y transitorios


Un estado i es recurrente si partiendo de l existe la seguridad de que el proceso en algn momento retorne a l. Un estado i es transitorio cuando partiendo de l existe una probabilidad no nula de abandonarlo definitivamente (el proceso no retornar jams a ese estado). Definimos i la probabilidad de que el proceso, partiendo del estado i, retorne al mismo: i = P ( X n = i )(| X o = i ) .
n

Entonces otra forma de expresar las definiciones es decir que el estado i es recurrente si i = 1, transitorio si i < 1. Defimimos Ri el nmero esperado de retornos al estado i (contando el pasaje inicial). Definimos la variable aleatoria indicatriz del pasaje por el estado i en la nsima 1 , si {X n = i} etapa, An = 0 , si {X n i}

Entonces
n =0

An = nro. de etapas en las que el proceso est en i , An | X 0 = i


props. de la esperanza

y Ri = E

n=0

n =0

E ( An | X 0 = i ) =

n=0

P( X n = i | X 0 = i ) =

n =0

( piin ) .

Proposicin

El estado i es recurrente si
n =0

( piin ) = (diverge) ( piin ) < (converge)

El estado i es transitorio si
n =1

Demostracin: Supongamos que el proceso comienza su evolucin en el estado i, X0=i. Si i es recurrente, con probabilidad 1 el proceso eventualmente alcanzar el estado i por segunda vez. Repitiendo el razonamiento, vemos que el proceso pasar por el estado i una infinidad de veces, con probabilidad 1. Si en cambio i es transitorio, cada vez que el estado i es alcanzado existe una probabilidad de no volver jams igual a 1-i, por lo que tenemos que la probabilidad de efectuar exactamente n pasajes por el estado i (contando como uno la estada inicial) se puede expresar como: P(X pase exactamente n veces al estado i | X 0 = i ) = in 1 (1 i ) , probabilidad en la que reconocemos una distribucin geomtrica de esperanza finita 1/(1i); entonces, el nmero esperado de retornos al estado i es Ri = 1 / (1i) , que es finito.

118

Introduccin a la Investigacin de Operaciones

Por lo tanto, si logramos calcular la esperanza del nmero de retornos del proceso al estado i, podemos saber si dicho estado es transitorio (esperanza finita) o recurrente (nmero infinito de regresos).

Propiedad En una C.M. finita homognea existe por lo menos un estado recurrente (no pueden ser todos transitorios). Para justificar esta propiedad por el absurdo, supongamos que todos los estados {0,1,2,....,n} de una C.M.F.H. son transitorios. Tomemos una trayectoria cualquiera de la cadena. Al ser el estado 0 transitorio, existir una etapa N0 luego de la cual el estado 0 ser abandonado para siempre. Al ser el estado 1 transitorio, existir tambin una etapa N1 luego de la cual el estado 1 tampoco ser visitado. Y as sucesivamente con todos los n estados. Si tomamos ahora N = mx {N0, N1,....Nn}, N es un nmero natural por ser el mximo de un nmero finito de naturales. Consideremos las etapas siguientes a la N, por ejemplo la etapa N+1: por definicin del espacio de estado, XN+1= i E={0,1,2,....,n}; pero por ser NNk,kE={0,1,2,....,n}, entonces XN+1 k, kE={0,1,2,....,n}, es decir XN+1E={0,1,2,....,n}, y hemos llegado a un absurdo. Por lo tanto no todos los estados de una C.M.F.H. son transitorios, lo que implica que existe al menos un estado recurrente. Corolario 1 La recurrencia es una propiedad de clase: si un estado i es recurrente, e ij, entonces j es recurrente. Demostracin

i j

por def. comunicaci n

( k , m 0, pijk ) > 0 y p (jim ) > 0

n =1

por prop. anterior

i recurrente

( piin ) =

Aplicando las ecuaciones de ChapmanKolmogorov dos veces, tenemos ( ( ( ( ( n 0, p (jjm + n + k ) = p (jlm ) pljn + k ) = p (jlm ) plrn ) prjk ) p (jim ) piin ) pijk )
l E l E r E

donde el miembro de la izquierda es la probabilidad de ir de j a j en (m+n+k) pasos (incluyendo todos los caminos) y el de la derecha es la probabilidad de ir de j a j va aquellos caminos que pasan por i. Sumando en n tenemos

n =1

( pijm+ n+ k )

( p (jim ) pijk )

n =1

( piin ) =

>0

ya que i es recurrente por H

Entonces j es tambin recurrente.

Corolario 2 El corolario anterior implica que la transitoriedad tambin es una propiedad de clase: si i transitorio, ij, entonces j es transitorio. Demostracin: Si j fuese recurrente, como por hiptesis ji, aplicando el corolario anterior tendramos i recurrente, lo que es absurdo. Por lo tanto j es transitorio.
119

Introduccin a la Investigacin de Operaciones

Corolario 3 El hecho de que la recurrencia es una propiedad de clase y adems que no todos los estados de una C.M.F pueden ser transitorios, nos permite afirmar que todos los estados de una C.M. finita irreductible son recurrentes. Demostracin: Por definicin, una cadena de Markov irreductible posee una sola clase de estados. Por lo tanto, i j , i , j E Aplicando la propiedad anterior, como la cadena es finita, existe al menos un estado iE recurrente. Por el corolario 1, todos los estados que comunican con i son tambin recurrentes, por lo tanto jE, j es recurrente. Ejemplo 7.3.5 Sea la C.M. cuya matriz de transicin es: 0 0 12 12 1 0 0 0 P= 0 1 0 0 0 1 0 0
Comprobamos que todos los estados se comunican, por lo tanto pertenecen a la misma clase, como adems esta cadena es finita podemos entonces afirmar que todos sus estados son recurrentes.

Ejemplo 7.3.6 Consideremos la C.M. con matriz de transicin 12 12 0 0 0 12 12 0 0 0 P= 0 0 12 12 0 0 0 12 12 0 14 14 0 0 12 Esta matriz est triangularizada por bloques. Podemos diferenciar 3 clases de equivalencia en el espacio de estado: {0,1}, {2,3} y {4}.
Las dos primeras clases son recurrentes. En cambio, la clase {4} es transitoria. Verificando en el grafo asociado:
E0
1/4 1/2 1/2 1/2

E1
1/2 1/2 1/2

1/4

E3
1/2 1/2

E2

120

Introduccin a la Investigacin de Operaciones

Definimos fii(n) como la probabilidad de que el primer retorno al estado i se realice en exactamente n etapas, dado que el estado inicial de la cadena es i: f ii (n ) = P( X n = i, X k i, k = 1, , n 1 | X 0 = i ) El clculo de las probabilidades de primer pasaje en n etapas, fij(n), se pueden realizar a travs de las siguientes frmulas de recurrencia fij(1)=pij fij(2)=pij(2)-fij(1)pjj ... fij(n)=pij(n)-fij(1)pjj(n-1)-fij(2)pjj(n-2)...-fij(n-1)pjj Para un estado i recurrente, definimos mii como la esperanza del tiempo del primer retorno al estado i:
mii =

n =1

nf ii (n )

Los estados recurrentes se pueden diferenciar en: 1) recurrentes positivos 2) recurrente nulos. Un estado i es recurrente positivo, si partiendo de i, el tiempo esperado hasta que el proceso retorne al estado i por vez primera es finito, es decir si mii<. Es posible demostrar que todos los estados recurrentes de una cadena de Markov finita son recurrentes positivos. Un estado es recurrente nulo si mii=. En este curso no trataremos este tipo de estados ya que solo aparecen en cadenas de Markov de espacio de estado infinito.

Periodicidad ( Se dice que el estado i es peridico si d (i ) = MCD n | p iin ) > 0 > 1 , y es aperidico si d (i ) = 1 . Si un estado i es peridico de perodo d(i), el proceso puede retornar a dicho estado solamente en las etapas multiplos de d(i).

Propiedad (dem. trivial) Si el estado i tiene un lazo (es decir, si pii>0) entonces su periodicidad ser 1. Propiedad (sin demostracin) Se demuestra tambin que la periodicidad es una propiedad de clase: si i tiene perodo d(i), e ij, entonces j tendr tambin perodo d(i). Propiedad (sin demostracin; ver p.ejemplo Chretienne-Faure, pag. 27) Sea i un estado de una componente conexa C cualquiera. Entonces se puede demostrar que para calcular la periodicidad de i, es suficiente con examinar todos los ciclos de la componente conexa: d (i ) = MCD(n | existe un ciclo simple de largo n en C ) .

121

Introduccin a la Investigacin de Operaciones

Una cadena es aperidica si todos sus estados lo son, y peridica en caso contrario.

Ejemplo
i

j ( En esta cadena, tenemos que piin ) > 0 para n = 4,6,8, (2 + 2k ) . Por lo tanto, d(i)=2, o sea que el estado i es peridico de perodo 2. Como adems la cadena es irreductible, todos los estados de la misma tendrn perodo 2. Ejemplo 1/2

j 1/2 i Esta cadena es aperidica, ya que el estado i tiene un lazo, por lo tanto d(i)=1, y como existe una sola clase de estados, todos tendrn periodicidad 1.
Ergodicidad Se define un estado ergdico como aquel que es recurrente positivo y aperidico. Un conjunto K de estados es ergdico si todos los estados que lo componen son ergdicos. Una cadena de Markov es ergdica cuando es irreductible y su espacio de estado es un conjunto de estados ergdicos. Si una cadena de Markov es finita y ergdica, diremos que es una cadena regular. Vector distribucin de estados El vector de distribucin de estados de la cadena en la etapa n, Q(n), es un vector fila estocstico (estocstico=suma de sus elementos igual a 1) que contiene las probabilidades para la n-sima etapa del estado de la cadena:
Q(n ) = 1 (n ) 2 (n )

j (n )

r (n )] , E = {1,2,

, r}, E = r ,

r j =1

j (n ) = 1

donde j (n ) = P( X n = j ), j E es la probabilidad de que el estado de la cadena en la n-sima etapa sea j, independientemente del estado inicial. Condicionando respecto del estado inicial, tenemos que

j (n ) =

que expresado en notacin matricial nos da Q(n ) = Q(0)P n . Podemos obtener el mismo resultado de la siguiente manera:

iE

P( X n = j | X o = i ) P( X o = i )

cadena homognea

iE

( pijn ) i (0 )

j (n ) =

iE

P( X n = j | X n1 = i ) P( X n1 = i )

cadena homognea

iE

pij i (n 1)

122

Introduccin a la Investigacin de Operaciones

que corresponde a la ecuacin Q(n ) = Q(n 1)P , la cual aplicada recursivamente nos permite llegar a Q(n ) = Q(0)P n . Ejemplo: Sea una CMTDH con dos estados, A y B, y matriz de transicin 2/4 2/4 3/4 1/4 Si la distribucin inicial Q(0)=(0,1), entonces Q(1)=(3/4,1/4), Q(2)=(9/16,7/16), Q(3)=(39/64,25/64) Si Q(0)=(1,0), entonces Q(1)=(2/4,2/4), Q(2)=(10/16, 6/16), Q(3)=(38/64,26/64) Si Q(0)=(1/2,1/2), entonces Q(1)=(5/8,3/8), Q(2)=(19/32, 13/32), ...

Definicin.
Un vector estocstico es una distribucin estacionaria cuando si Q(n)=, entonces Q(m)=, para todo m>n. Si estacionaria, si Q(n)=, entonces Q(n+1)=; como Q(n+1)=Q(n)P, tenemos que Q(n+1)=P=. Por lo tanto, toda distribucin estacionaria verifica la ecuacin = P. Recprocamente, todo vector que verifique las ecuaciones = P y
i E

i = 1 ser

una distribucin estacionaria de la cadena de Markov de espacio de estado E y matriz de transicin P. Estas ecuaciones constituyen un sistema lineal de n+1 ecuaciones y n incgnitas. Para resolver este sistema, debemos eliminar una de las ecuaciones redundantes, que puede ser cualquiera exceptuando i = 1.
i E

Es posible que una cadena de Markov admita ms de una distribucin estacionaria, como vemos en el ejemplo siguiente. Sea una cadena de Markov de matriz de transicin P, 12 12 0
P= 12 0

12 0

0 . 1

Al plantear el sistema lineal correspondiente para hallar la distribucin estacionaria constatamos que es indeterminado, admitiendo infinitas soluciones, entre ellas estn las siguientes: 1 2, 1 2, 0 , 1 5, 1 5, 3 5 , etc.

Comportamiento asinttico de una cadena de Markov Estudiaremos ahora el comportamiento de las cadenas de Markov cuando el nmero de etapas n tiende a infinito.

123

Introduccin a la Investigacin de Operaciones

Para esto, estudiaremos j E , j = lm j (n ) = lm


n n

notacin matricial se escribe = lm Q(n ) = lm Q(0)P = Q(0) lm P n . El lmite de


n n n

iE n

( i (0 ) pijn ) , que formulado en

Pn puede estudiarse de forma genrica con tcnicas de transformada z, fuera del alcance de este curso. Cuando

= lm Q(n ) = Q(0) lm P n existe y es independiente del valor de la


n n

distribucin inicial Q(0), decimos que es la distribucin lmite de la cadena. Se puede demostrar 1) Que para una cadena de Markov ergdica, siempre existe la distribucin lmite, y que adems coincide con la distribucin estacionaria que es nica en este caso. 2) Que para una cadena de Markov finita, irreductible y peridica, siempre existe una nica distribucin estacionaria. Para cadenas peridicas puede no existir una distribucin lmite. Veamos el siguiente ejemplo. Ejemplo 7.3.8 0 1 Sea la cadena de matriz de transicin P, P = . En esta cadena, si el estado 1 0 inicial X0 del proceso es el estado 1, en todas las etapas pares la cadena pasar por el 0 1 estado 1, y en las etapas impares por el estado 2. Podemos ver que P 2 n+1 = y 1 0 1 0 P 2n = para todo n0. Por lo tanto, no existe lim P n , es decir que no tenemos n 0 1 distribucin lmite. Sin embargo existe la distribucin estacionaria 1 2 ,1 2 .

7.3.3 Proporcin de tiempo pasado en un estado


En una cadena de Markov finita irreductible podemos considerar la distribucin estacionaria j , j E como la proporcin del tiempo en el que el proceso va a estar a largo plazo en el estado j. Ya habamos definido para un estado jE de una C.M finita irreductible, la esperanza del tiempo de retorno a j, mjj. De forma intuitiva, como j es la proporcion del tiempo en que el proceso est en el estado j, y como la cadena est en el estado j una unidad de tiempo por cada mjj unidades de tiempo 1 que no lo est, tenemos entonces que j = . Es decir que la proporcin de tiempo m jj que el proceso pasa en el estado j es igual a la inversa del tiempo medio entre las visitas a j, para toda cadena de Markov finita irreductible.
Ejemplo 7.3.9

Un vigilante tiene una manzana para cuidar. La vigilancia comienza en una de las esquinas, dirigiendose a las otras de acuerdo a las siguientes probabilidades:

124

Introduccin a la Investigacin de Operaciones

p12 = p 23 = p 41 = 1, p 33 = 1 p, p 34 = p . Es decir que le lleva una unidad de tiempo el ir de una esquina a la siguiente, y en la nica esquina donde puede permanecer ms tiempo es en la esquina 3, donde con probabilidad (1-p) decide quedarse por otra unidad de tiempo. El espacio de estado de esta cadena es {1,2,3,4}, donde cada estado corresponde a una esquina en nuestro problema. La cadena se encuentra en el estado i durante la etapa n, Xn=i, cuando el vigilante est en la esquina i durante la n-sima unidad de tiempo. Como el espacio de estado de esta cadena posee una sola clase de equivalencia, entonces la cadena es irreductible, y como es finita, entonces todos los estados son recurrentes positivos. Para estudiar la periodicidad, alcanza con ver que como el estado 3 posee un bucle, por lo tanto d(3)=1; al existir una sola clase, todos los estados tienen la misma periodicidad, 1 en este caso. Tenemos entonces que esta cadena es finita, irreductible y aperidica, entonces es ergdica. Por lo tanto, existe p una distribucin lmite que coincide con la estacionaria, 1 = 2 = 4 = , 3 p +1 1 3 = . 3 p +1

7.4 Cadenas de Markov de Tiempo Contnuo


Un proceso estocstico {Xt , tT} es de tiempo continuo cuando T es un intervalo de los reales (y por lo tanto, un conjunto no numerable). Como T es continuo, notamos (Xt = x) al evento en que el proceso toma el valor x en el instante t (denominamos instante a un elemento del conjunto T). Una cadena de Markov de tiempo continuo es un proceso estocstico de tiempo continuo y espacio de estado discreto cuyo comportamiento en el futuro solamente depende de su estado presente, es decir cuando la siguiente condicin se verifica: i, j E , x(u ) : T E , s, t T (propiedad de ausencia de memoria). En esta seccin consideraremos solamente cadenas homogneas, es decir aquellas cuyas probabilidades de transicin son independientes del instante de tiempo en el que ocurren: P( X t + s = j | X t = i ) = pij (s ) , i, j E , t , s T Para las cadenas de Markov de tiempo continuo homogneas podemos dar otra definicin equivalente a la anterior, basada en la propiedad de ausencia de memoria. Diremos entonces que una cadena de Markov de tiempo continuo es un proceso estocstico cuya evolucin respeta las reglas siguientes: 1. el tiempo de permanencia del proceso en el estado i es una variable aleatoria independiente, de ley exponencial y parmetro vi (por lo tanto, su media es 1/vi), para todo estado i de E. Notaremos TPi a la variable exponencial del tiempo de permanencia en el estado i. 125 P X t + s = j | X t = i, X u = x(u ),0 u < t = P X t + s = j | X t = i ,

) (

Introduccin a la Investigacin de Operaciones

2. Cuando el proceso abandona el estado i, la eleccin del prximo estado j se realiza de acuerdo a las probabilidades de transicin pij definidas para todos los estados i,j de E. Estas probabilidades deben satisfacer pii = 0 , pij = 1, i E .
j E

Es posible entonces considerar que una cadena de Markov en tiempo continuo es un proceso estocstico cuyas transiciones de un estado a otro se realizan de acuerdo a una cadena de Markov discreta, pero donde el tiempo de permanencia en cada estado es una v.a. exponencial en lugar de un valor constante. En una cadena de Markov de tiempo continuo, definimos el generador infinitesimal Q p i j como la matriz tal que qij = ij i . El generador infinitesimal de una cadena i i = j de Markov en tiempo continuo cumple un papel similar al de la matriz de transicin en tiempo discreto. En particular, la distribucin estacionaria de una CMTC X es aquella que se obtiene de resolver el sistema lineal Q=0, con la restriccion adicional i = 1 ; si la cadena es ergdica, la distribucin estacionaria coincide con la distribucin lmite, que existe.
Grafo asociado a una C. M. de tiempo continuo homognea

Sea X={Xn,n0} una cadena de Markov de tiempo continuo de espacio de estado E={1,2,...r}, |E|=r, y generador infinitesimal Q. Podemos asociar un grafo orientado ponderado G=(E,U,W) a la cadena X de la forma siguiente: E (espacio de estado de la cadena) es el conjunto de nodos U = {uij=(i,j)|i,jE, pij>0} es el conjunto de arcos orientados W es la funcin de ponderacin que asigna uij + (i) la probabilidad de transicin pij =qij /(-qii )> 0 correspondiente, W(uij) = pij > 0; y a cada nodo i E la esperanza del tiempo de permanencia 1/vi=1/(-qii). Como la suma de todas las probabilidades de transicin pij para cada fila i debe ser igual a 1, entonces el grafo asociado a una C. M. finita homognea no puede ser cualquiera, sino que la suma de las probabilidades asignadas a los arcos incidentes exteriormente a cada nodo debe ser igual a 1. Aunque el grafo retiene nada ms que las probabilidades de transicin entre dos estados, su estudio es muchas veces suficiente para conocer cualitativamente la evolucin del proceso.

Ejemplo 7.4.1 En un negocio de lustrar zapatos hay 2 sillas (silla 1 y silla 2). Un cliente que llega se dirige primero a la silla 1, donde le limpian los zapatos y le ponen pomada. Despus va a la silla 2 donde le lustran los zapatos. Estos dos servicios se consideran variables aleatorias exponenciales independientes con parmetros respectivos 1 y 2. Supongamos adems que los clientes entran segn una distribucin Poisson de tasa l y que cualquier cliente entra solamente si las dos sillas estan desocupadas.

126

Introduccin a la Investigacin de Operaciones

Para analizarlo como una C.M. en tiempo continuo, establecemos un espacio de estados apropiado. En este sistema tendremos siempre 0 1 cliente, siendo adems relevante el saber en que silla se encuentra el cliente por los tiempos del servicio. Entonces E={0,1,2}, donde estado 0 - ningn cliente estado 1 - un cliente, en la silla 1 estado 2 - un cliente, en la silla 2 En cuanto a los tiempos de permanencia en cada estado tenemos: TP0 - intervalo de tiempo hasta que llega el primer cliente, exponencial de tasa l. E( TP0 ) = 1 vo = 1 vo = 1 TP1 - tiempo de permanencia del cliente en la silla 1, exponencial de tasa 1. E( TP1 ) = 1 1 1 = 1 TP2 - tiempo de permanencia del cliente en la silla 2, exponencial de tasa 2. E( TP2 ) = 1 2 2 = 2 Las probabilidades de transicin son: p01 = p12 = p20 = 1. El grafo asociado es: p 01 1/0
0 p p
20 12

1/ 1

2 1/ 2

Comunicacin, clases de equivalencia, componentes fuertemente conexas, recurrencia y transitoriedad: Son conceptos anlogos a los de las CM de tiempo discreto. Periodicidad: En CM de tiempo continuo todos los estados son aperidicos (no existe concepto de estado peridico). Ergodicidad: Toda CM de tiempo continuo homognea finita e irreductible es ergdica. Si la cadena es infinita, puede no ser ergdica (una condicin suficiente para que una cadena irreductible sea ergdica es que los valores i estn acotados superiormente). Vector distribucin de estados El vector de distribucin de estados de la cadena en el instante t, Q(t), es un vector fila estocstico (estocstico=suma de sus elementos igual a 1) que contiene las probabilidades en el instante t del estado de la cadena:
Q(t ) = 1 (t ) 2 (t )

j (t )

r (t )] , E = { ,2, , r}, E = r , 1

r j =1

j (t ) = 1

127

Introduccin a la Investigacin de Operaciones

donde j (t ) = P( X n = j ), j E es la probabilidad de que el estado de la cadena en la n-sima etapa sea j, independientemente del estado inicial. Condicionando respecto del estado inicial, tenemos que

j (t ) =

iE

P( X t = j | X o = i ) P ( X o = i )

cadena homognea

iE

pij (t ) i (0 ) .

Distribucin estacionaria. Si Q(t)= es una distribucin estacionaria, entonces, Q(s)=, s>t.

Todo vector que verifique las ecuaciones Q = 0 y


i E

i = 1 ser una distribucin

estacionaria de la cadena de Markov de tiempo continuo de espacio de estado E y generador infinitesimal Q. Estas ecuaciones constituyen un sistema lineal de n+1 ecuaciones y n incgnitas. Para resolver este sistema, debemos eliminar una de las ecuaciones redundantes, que puede ser cualquiera exceptuando i = 1.
i E

Es posible que una cadena de Markov admita ms de una distribucin estacionaria, en cuyo caso el sistema lineal correspondiente para hallar la distribucin estacionaria ser compatible indeterminado.
Comportamiento asinttico de una cadena de Markov Estudiaremos ahora el comportamiento de las cadenas de Markov cuando t tiende a infinito. Para esto, estudiaremos j E , j = lm j (t ) = lm i (0) pij (t ) .
t tn

iE

Cuando = lm Q(t ) existe y es independiente del valor de la distribucin inicial


t

Q(0), decimos que es la distribucin lmite de la cadena. Se puede demostrar que para una cadena de Markov de tiempo continuo finita y ergdica, siempre existe la distribucin lmite, y que adems coincide con la distribucin estacionaria que es nica en este caso. (ver en las pginas anteriores la discusin sobre ergodicidad). Ecuaciones de balance de flujo: Si es una distribucin estacionaria, entonces para cualquier subconjunto A del espacio de estados E, se verifica la siguiente propiedad (que corresponde a las llamadas ecuaciones de balances de flujo): qij i = q ji j .

i A

jE / A

jE / A

iA

De manera recproca, un conjunto independiente de n-1 de estas ecuaciones junto con la condicin de estocsticidad pueden ser empleadas para generar un sistema lineal cuya solucin es son las distribuciones estacionarias (si existen).

128

Introduccin a la Investigacin de Operaciones

7.5 Procesos de Poisson


Una subfamilia importante de los procesos estocsticos de tiempo continuo y espacio de estado el conjunto de los naturales son los procesos de conteo {N t , t 0} , que se caracterizan por cumplir las condiciones siguientes:

N t N, t (y lo interpretamos como el nmero de eventos en el intervalo (0, t ] ) No = 0 N t 0, t s<t N s Nt

Un proceso de conteo es homogneo en el tiempo si el nmero de eventos en un intervalo depende solamente de la longitud del mismo, y no de su instante inicial: r1 < r2 , s > 0 : n 0 : P( N r2 + s N r1 + s = n) = P N r2 N r1 = n . Un proceso de conteo es de incrementos independientes si el nmero de eventos contados en intervalos de tiempos disjuntos son independientes: s, t : n, m 0 : P( N t N s = n, N s = m ) = P( N t N s = n )P( N s = m ) .

Un caso particular de los procesos de conteo son los procesos de Poisson. Un proceso de conteo {N t , t 0} es de Poisson si verifica las siguientes propiedades adicionales: el proceso es homogneo en el tiempo y de incrementos independientes. P( N h = 1) = h + o(h ) = p1 (h ) probabilidad de un evento en el intervalo (0, h] . P( N h 2 ) = o(h ), o(h ) 0 probabilidad de ms de un evento en (0, h] .
h 0

A partir de estas condiciones se demuestra que la probabilidad de que ocurran n eventos en el intervalo (0, t ] corresponde a una distribucin de Poisson,
pn (t ) = P( N t = n ) =
n

e t (t ) , de esperanza E( N t ) = t = Var ( N t ) . n! Es decir que el proceso resultante de contar el nmero de eventos sucedidos en un intervalo de tiempo t posee una distribucin de Poisson de tasa t.

Distribucin de los tiempos entre llegadas Consideremos un Proceso de Poisson {Nt , tT}, notemos T1 el intervalo de tiempo hasta que ocurre el primer evento y para n > 1 notemos Tn el lapso de tiempo entre el (n1)-simo evento y el n-simo evento. La secuencia {Tn, n=1,2,3....} es llamada secuencia de los tiempos entre llegadas sucesivas.

129

Introduccin a la Investigacin de Operaciones

3 2 1 t 0 t 1 t

T 0

T 1

Determinemos la distribucin de la variable aleatoria continua Tn. Estudiemos primero T1. El evento {T1 > t} = {N(t) = 0} corresponde a la no ocurrencia de ningn evento del proceso en el intervalo (0,t], entonces P(T1 > t ) = P( N t = 0 ) = p0 (t ) = e t . Por lo tanto T1 posee distribucin exponencial, de media 1/. Veamos ahora T2. P(T2 > t )
prob. condiciona l

P T2 > t | T1 = s f T1 (s )ds

por ser T1 exponencia l

P T2 > t | T1 = s e s ds

Tenemos que
P T2 > t | T1 = s = P N t + s N s = 0 | N s = 1

) (

incremento s independie ntes

P( N t + s N s = 0 )

crecimient o homogneo

P(N t = 0) = p0 (t ) = e t

Sustituyendo en la ecuacin anterior

P(T2 > t ) = e t e s ds = e t e s ds
0 0

e s ds =1

e t = P T2 > t | T1 = s

Por lo tanto concluimos que la variable aleatoria T2 tambin es exponencial, y su esperanza es 1/. Ademas T1 y T2 son independientes ya que P(T2 > t|T1 = s) = P(T2> t). Con el mismo esquema, podemos demostrar que T3, T4, T5, etc., son variables aleatorias exponenciales independientes, cuyo valor esperado es 1/ . Recprocamente, una secuencia{Tn, n> 1} de variables aleatorias exponenciales independientes de esperanza 1/ define un proceso de Poisson de tasa , N t = {max{n / S n t}} con S n =
n i =1

Ti el instante en que ocurre el evento n.

130

Introduccin a la Investigacin de Operaciones

Ejemplo 7.5.1 Supongamos que la inmigracin a un pas se realiza segn un proceso de Poisson, de tasa = 1 inmigrante/da. Calculemos la probabilidad de que el tiempo transcurrido entre el dcimo y el undcimo inmigrante exceda los dos das: P{T11 > 2} = e-2 = e-2 0,133

7.6 Procesos de Nacimiento y Muerte


Estudiaremos a continuacin una clase de sistemas cuyo estado est completamente determinado por el nmero de individuos presentes en el sistema en cada instante de tiempo. Supongamos que siempre que haya n individuos en el sistema: 1. los nuevos arribos al sistema se realizan a una tasa exponencial n 2. los individuos abandonan el sistema a una tasa exponencial n Es decir que siempre que haya n individuos en el sistema, el tiempo hasta la llegada de un nuevo individuo es una variable aleatoria exponencial de esperanza 1/n, el tiempo hasta la partida de un individuo presente en el sistema es una variable aleatoria exponencial de esperanza 1/ n, y ambas v.a. son independientes. Modelamos un sistema de este tipo a travs de un proceso estocstico X={Xt , t0}, con Xt=nmero de individuos presentes en el sistema en el instante t. Este proceso estocstico, de tiempo continuo y espacio de estado discreto, es un proceso de nacimiento y muerte. Decimos que los parmetros {n }n=0 y { n }n=1 son las tasas de nacimiento y muerte respectivamente de este proceso.

Propiedad Todo proceso de nacimiento y muerte de parmetros {n }n=0 y { n }n=1 es equivalente a una cadena de Markov de tiempo continuo con espacio de estado E = {0,1,2,.....} y en la que desde cualquier estado n solamente hay transiciones hacia los estados n+1 y n-1 (donde n corresponde al nmero de individuos en el sistema modelado).

El grafo asociado al proceso de nacimiento y muerte tiene la siguiente forma:


0 0
1

1 1
2

2 2
3

3 3
4

n n
n+1

n+1 n+1
n+2

La relacin entre las tasas de nacimiento y muerte del proceso con las tasas y probabilidades de transicin de la cadena son las siguientes: 1. 0=0 ; i > 0 i=i+i tasa de transicin - suma de tasas de llegada y salida 2. probabilidades de transicin: p01 = 1 pi,i+1 = i /(i+i) i > 0 - probabilidad de que ocurra una llegada antes pi,i1 = i /(i+i) i > 0 - probabilidad de que ocurra una partida antes.

131

Introduccin a la Investigacin de Operaciones

Algunos casos particulares de procesos de nacimiento y muerte son los siguientes: 1. procesos de Yule n=n,n, n=0, n (nacimiento puro, tasa lineal). 2. modelo de crecimiento lineal n=n,n, n=n, n . 3. procesos de Poisson n= n, n=0 n (nacimiento puro, tasa constante).
Propiedad - Condicin de estabilidad de un proceso de nacimiento y muerte A) Todo proceso de nacimiento y muerte con espacio de estados finito es estable. B) Todo proceso de nacimiento y muerte con espacio de estados infinito y de parmetros {n }n=0 y { n }n=1 es estable (su cadena de Markov subyacente posee una distribucin estacionaria nica que coincide con la distribucin lmite) si y solo si se verifican las siguientes condiciones:

n = 0 k =o n

k
k +1

< =

n = 0 k =o

k +1
k +1

7.7 Sistemas de Colas


En un sistema de filas de espera encontramos diversos componentes: fuentes de entrada, clientes, las colas propiamente dichas, y los servidores. Estos componentes tienen comportamientos caractersticos que deben ser especficados al describir el sistema. Los clientes en un sistema de colas no tienen porque ser personas, pueden ser llamadas telefnicas, aviones, mquinas y los servidores pueden ser buffers de memoria, pistas de aterrizaje, equipos de reparadores. Cuando estudiamos un sistema de filas de espera, interesa determinar diversos datos del mismo. Entre los ms comunes encontramos: n nmero esperado de clientes en el sistema, nmero esperado de clientes en la cola, nmero medio de servidores ocupados , t f tiempo medio de espera en la cola,

t s tiempo medio de permanencia en el sistema.

En los modelos ms utilizados de sistemas de colas, el sistema queda determinado por la distribucin de probabilidad de los tiempos de llegada de los clientes, la distribucin del tiempo de servicio, y el nmero de servidores existentes. Nosotros presentaremos sistemas de colas en los que la disciplina de espera en la fila es FIFO (el primer cliente en llegar es el primer cliente que es atendido), y donde las distribuciones definidas son exponenciales. Estos modelos de cola se pueden modelar como cadenas de Markov de tiempo continuo, {X(t), t>0}, procesos estocsticos sin memoria, donde el comportamiento futuro depende solamente del estado presente.

132

Introduccin a la Investigacin de Operaciones

Para caracterizar en forma suscinta uno de estos modelos, se utiliza la siguiente notacin (llamada Notacin de Kendall): distribucin de llegadas / distribucin del servicio / nmero de servidores [/ tamao de la fila de espera /poblacin total del sistema/disciplina de la fila]. Las distribuciones de llegadas y servicios ms comunes se especifican mediante un cdigo de una letra: M para la distribucin exponencial ("markoviana"), Ek para la distribucin Erlang de k etapas, D para la distribucin determinstica (tiempo constante), G para la distribucin "general" (distribucin de probabilidad arbitraria). Las disciplinas de la fila se suelen especificar con un acrnimo, del estilo First In First Out o Primero Entrar Primero Salir: los ms comunes son FIFO (primero en llegar - primero en ser atendido), LIFO (ltimo en llegar primero en ser atendido), Random (eleccin aleatoria entre los clientes que esperan), PS (processor sharing - atencin multiplexada entre todos los clientes que esperan), etc.

Filas de espera con llegadas de Poisson y tiempos de servicio exponenciales


Puesto que a cada una de las tasas (0, 1, , 1, 2, ) de un proceso de nacimiento y muerte se puede asignar cualquier valor no negativo, esto proporciona gran flexibilidad para modelar sistemas de colas. Una cantidad muy importante de los modelos ms estudiados en la teora de colas se basan en este proceso. Todas las filas de espera con entradas de Poisson y tiempos de servicio exponenciales, pueden modelarse como un proceso de nacimiento y muerte. Los modelos difieren nicamente en sus hiptesis respecto a como varan las tasas n y n con n. Excepto para algunos casos especiales, el estudio analtico del proceso de nacimiento y muerte es muy difcil cuando el sistema se encuentra en una condicin transitoria. Se han obtenido algunos resultados sobre la distribucin de probabilidades de los estados, pero son muy complicados como para tener aplicacin prctica amplia. Por otra parte, es relativamente sencillo obtener una distribucin despus de que el sistema ha alcanzado un estado estacionario (suponiendo que el sistema lo alcanza). Esto puede realizarse directamente del diagrama de tasas, como se explica a continuacin. Para analizar un sistema de filas de espera debemos determinar las probabilidades pn (t ) t 0, n N de que en el instante t haya exactamente n clientes en el sistema. Estas probabilidades se llaman probabilidades de estado. Estudiaremos los casos en que el proceso se realiza en rgimen estacionario, es decir cuando las probabilidades son independientes del intervalo de tiempo t: pn (t ) = pn , t 0, n N Bajo hiptesis de regularidad del sistema, esta distribucin estacionaria coincide con la distribucin de probabilidades lmite del sistema. En ese caso, podemos interpretar el valor pn como la probabilidad asinttica de que haya n unidades en el sistema, o tambin como la proporcin del tiempo total (cuando t) durante la cual hay n unidades en el sistema.

133

Introduccin a la Investigacin de Operaciones

Para poder determinar las pn haremos uso de la propiedad de equilibrio de flujos (vista al estudiar las cadenas de Markov de tiempo continuo). Esta propiedad puede reexpresarse en este contexto con la siguiente formulacin: Para cualquier estado n (n = 0, 1, ...) del sistema, la tasa media (nmero esperado de ocurrencias por unidad de tiempo) a la que ocurren los eventos de entrada a un estado o conjunto de estados debe ser igual a la tasa media a la que ocurren los eventos de salida de ese estado o conjunto de estados. Este principio se expresa mediante las ecuaciones de balance para el estado n o para un conjunto de estados Cn. Luego de construir las ecuaciones de balance para cada estado, en trminos de probabilidades estacionarias pn desconocidas, puede resolverse el sistema para hallar las probabilidades. Veamos ahora como determinar las ecuaciones de balance. Considrese el estado 0. El proceso entra a este estado solamente desde el estado 1. Por tanto, la probabilidad en estado estacionario de encontrarse en el estado 0 (es decir, p0), representa la proporcin de veces que es posible llegar al estado 0. Dado que si el proceso se encuentra en el estado 1, la tasa media de entrar al estado 0 es 1. Es decir, la tasa media global a la cual el proceso entra al estado 0 es 1p1. Con el mismo razonamiento, la tasa media global a la cual el proceso sale del estado 0 es 1p1. Entonces, la ecuacin de balance para el estado 0 es 1p1 = 0p0 Para el resto de los estados, existen dos transiciones posibles, tanto hacia adentro como hacia fuera del estado. Las ecuaciones de balance se resumen a continuacin:
Estados 0 0, 1 0, 1, 2 ... 0, 1, ..., n-1 0, 1, ... , n-1, n ... Ecuacin de balance 1p1 = 0p0 2p2 = 1 p1 3p3 = 2 p2 ... npn = n-1pn-1 n+1pn+1 = npn ...

Dado que el sistema formado por las ecuaciones de balance hasta el n-simo conjunto de estados contiene siempre n + 1 ecuaciones, podemos resolverlo en funcin de p0. Luego, imponiendo que los pn sean una distribucin de probabilidades, es decir que sumen 1, puede hallarse p0.

134

Introduccin a la Investigacin de Operaciones

Aplicando el procedimiento, llegamos a


Estado Ecuacin de balance

0 1 2 ... n ...

0 p 1 0 p 2 = 1 p1 = 1 0 p0 2 2 1 p3 = 2 p 2 = 2 1 0 p0 3 3 2 1 ... n ... p n+1 = p n = n n 1 0 p0 n+1 n+1 n ...1 ...


p1 =

Es decir, las probabilidades en estado estacionario son p n = 1,2...

n1n 2 ...0 p para n = n n1 ...1 0

Debe cumplirse que


n =0

p n = 1 , o sea p0 +

n =1

n1n2 ...0 p = 1 . Por lo tanto, n n1 ...1 0

obtenemos la siguiente expresin para p0: p0 = 1+ 1

n =1

n 1n2 ...0 n n 1 ...1

Resumiendo, la distribucin de probabilidades en estado estacionario para una fila de espera con llegadas de Poisson y tiempos de servicio exponenciales es:
p0

= 1+

n =1

n 1n2 ...0 n n 1 ...1

pn =

n1n 2 ...0 p n n1 ...1 0

Condicin de estabilidad del sistema

El resultado anterior y los siguientes se obtienen suponiendo que las tasas permiten alcanzar un estado estacionario. Esto siempre se cumple si n = 0 para algn valor de n (es decir, cuando slo es posible un nmero finito de estados). En el caso general, aplicando la propiedad vista para los procesos de nacimiento y n1 ...0 n ...1 converge, y la serie diverge, la estabilidad muerte, si la serie n =1 n ...1 n =1 n ...1 del sistema est garantizada, pues P0 est bien definido (y por ende, todas las dems probabilidades en estado estacionario).

135

Introduccin a la Investigacin de Operaciones

Cantidad esperada de clientes en el sistema

Con esta informacin podemos calcular la cantidad media de clientes en el sistema como el valor esperado del estado del proceso:
n=
n =0

np n

Nmero medio de clientes en la cola

Sea s el nmero de servidores del sistema. El largo esperado de la fila est dado por la esperanza de la cantidad de personas en la fila (ntese que decimos la cantidad de personas en la fila y no en el sistema). Supongamos que el proceso se encuentra en el estado n (es decir, hay n clientes en el sistema). Si n s, entonces todos los clientes estn siendo atendidos y la fila tiene largo 0. Si n > s, habr n s clientes en la fila y s clientes siendo atendidos (fuera de la fila). En resumen, el largo esperado de la fila es:
n=s

(n s ) pn

Cantidad esperada de servidores ocupados

De manera similar, podemos definir la cantidad esperada de servidores ocupados. Sea s la cantidad de servidores del sistema. Supongamos que hay n clientes en el sistema. Si n s entonces la cantidad de servidores ocupados es n. En cambio, si n > s la cantidad de servidores ocupados es s (pues no hay mas de s servidores). Por lo tanto, definimos

=
Observe que se cumple n = + .
Ecuaciones de Little

s n =1

nPn +

n = s +1

sp n

Las ecuaciones de Little expresan que para cualquier sistema o subsistema dado, en estado estacionario el nmero medio de clientes dentro es igual a la tasa media de entrada de clientes por el tiempo medio de permanencia en ese sistema o subsistema. Casos particulares: el nmero medio de clientes en el sistema, el nmero medio de clientes en la cola, el tiempo esperado de permanencia en el sistema y el tiempo esperado de permanencia en la fila satisfacen las siguientes igualdades:

n = ts

= t f
Donde es la tasa media de llegadas, que viene dada por =
n =0

n p n .

Asimismo, si t at es el tiempo medio de atencin, tenemos que = tat .

136

Introduccin a la Investigacin de Operaciones

Tiempo esperado de permanencia en el sistema

Utilizando las igualdades de Little, tenemos que

ts =

Tiempo esperado de permanencia en la fila

Aplicando nuevamente las igualdades de Little, llegamos a


tf =

Hemos obtenido ecuaciones para diversas medidas de inters (en estado estacionario) sobre filas de espera con llegadas de Poisson y tiempos de servicio exponenciales sin hacer suposiciones acerca de las tasas de llegada y de atencin. A continuacin aplicaremos estos resultados genricos para establecer resultados en modelos especficos. A continuacin presentamos un estudio de algunos modelos simples de filas de espera con llegadas de Poisson y tiempos de servicio exponenciales.

7.7.1 El modelo M/M/1


Este es el ms simple de los modelos de filas de espera. Como hiptesis tenemos que los clientes llegan de acuerdo a un proceso de Poisson de parmetro , y por lo tanto los tiempos entre llegadas son exponenciales (M). Adems estos clientes son atendidos o servidos uno por vez, por un solo servidor (o equipo) cuyo tiempo de servicio tambin es exponencial (M) de parmetro . Cuando un cliente llega al sistema, y el servidor est libre, es atendido por el mismo. Si el servidor no est libre, el cliente ocupa el ltimo lugar de la cola, y espera su turno. Cuando el servidor termina de atender un cliente, ste abandona el sistema, y el servidor comenzar a atender al cliente que ocupa el primer lugar de la cola. Si notamos NC(t) al nmero de clientes en el sistema en el instante t, entonces es posible demostrar que {NC(t), t0} es un proceso de nacimiento y muerte cuya tasa de nacimiento es n = n0, y cuya tasa de muerte es n = n1.
SISTEMA servidor c c c c c c Fuente con unidades idnticas c c c c c fila o cola

137

Introduccin a la Investigacin de Operaciones

Vamos a calcular las probabilidades de estado pn para nuestra fila M/M/1. Considerando el estado 0 (aqul en el que no hay clientes en el sistema), vemos que este estado se abandona solamente cuando ocurre un arribo, por lo que la tasa de salida es p0 ( es la intensidad de llegadas, p0 es la probabilidad de que el proceso se encuentre en el estado 0, o lo que es lo mismo la proporcin del tiempo total en que el proceso est en el estado 0). Las entradas al estado 0 se realizan desde el estado 1, cuando un cliente abandona el sistema. La tasa de servicio es y la probabilidad de que haya un solo cliente en el sistema es p1, entonces la tasa con que el sistema entra o alcanza el estado 0 es p1. Aplicando el principio de equilibrio de tasas, tenemos entonces la siguiente ecuacin: p0 = p1. Consideremos ahora los estados 0 y 1. El proceso abandona este connjunto de estados solamente por un arribo en el estado 1, que ocurre a una tasa . Por otro lado, el proceso ingresa al estado 1 desde el estado 2 cuando hay una partida. Entonces la intensidad de entrada es p1. La ecuacin a la que se llega luego de aplicar el principio de equilibrio es ( )p1 = p2. Con un razonamiento similar para los dems estados, obtenemos las siguientes ecuaciones, llamadas ecuaciones de balance:

p0 = p1 pn = pn+1 n>0. Reescribiendo, tenemos p1 = p0 p n +1 = p n , n 1 que puede ser resuelto en trminos de p0: p1 = p0

p2 = p1 = p3 = p1 =
p n +1

p0
3

p0
n +1

= pn =

p0

Por ser pn una distribucin de probabilidad, tenemos que

1=

n =0

pn =

n =0

si <1

p0

p0

1 1

La condicin de que / < 1 es necesaria para que la serie sea convergente. Es tambin la condicin de estabilidad de este sistema de colas.

138

Introduccin a la Investigacin de Operaciones

Resolviendo ese conjunto de ecuaciones, llegamos a: p0 = 1

pn = ( ) (1 ), n 1
n

Condicin de estabilidad de la fila Supongamos que > . Como los cliente llegan segn un proceso de Poisson de tasa , el nmero esperado de clientes que llegan en un intervalo de tiempo t, es t, E(Nt)= t, t0.
Si siempre hay clientes para atender, el nmero de clientes atendidos es un proceso Poisson de tasa , ya que los tiempos de servicio, que son los tiempos entre servicios sucesivos, son v.a. exponenciales independientes de valor esperado 1/. Por eso el nmero esperado de clientes atendidos en el mismo intervalo de tiempo t es E(A(t)) t. Por ende el nmero esperado de clientes en el sistema durante el intervalo de tiempo t es E(NCt) t - t = ( - )t = nmero esperado de llegadas menos nmero esperado de atendidos. Si > , cuando t, entonces E(NCt) tiende a infinito, es decir que la cola crecera indefinidamente sin lmite y entonces no existira rgimen estable. En este caso no tiene sentido intentar calcular las probabilidades pn. Entonces la condicin para que exista un rgimen estable es que <, o equivalentemente /<1. Esta condicin puede ser expresada lo como la condicin de que la esperanza del tiempo de servicio 1/ sea menor que el valor esperado del tiempo entre arribos sucesivos 1/. Derivamos ahora los valores de algunas cantidades en trminos de las probabilidades estacionarias.

Nmero esperado de clientes en el sistema1


n = npn = n n= 0 n =0

1 = = 2 ( ) (1 )

Tiempo medio de permanencia en el sistema

ts =

Tiempo medio de espera en la fila

t f = t s E (tiempo de servicio) = t s
Nmero esperado de clientes en la cola

( )

1aplicamos

la siguiente identidad algebraica:

x
n =0

nx n 1 =

x , x < 1. (1 + x )2
139

Introduccin a la Investigacin de Operaciones

2 Utilizando igualdad de Little: = .t f = ( )


Tiempo de espera en el sistema
El tiempo de espera en el sistema es una variable aleatoria W. En el caso de la fila M/M/1, su distribucin es exponencial de tasa (). Esto nos permite derivar de otra 1 forma el valor de t s = E (W ) =

Ejemplo 7.7.1
a) Supongamos que los clientes llegan segn un Proceso Poisson a razn de 1 cada 12 minutos y que el tiempo de atencin o servicio es exponencial de tasa un servicio n=2 cada 8 minutos. Calculando, tenemos que t s = 24 b) Aumentamos la tasa de arribos en un 20%. Al calcular, llegamos a

n=4 t s = 40

Observamos que aumentando un 20 % la tasa de arribo, el nmero esperado de clientes en el sistema se duplica. Esto sucede porque cuando / se acerca a 1, un pequeo aumento en la carga del sistema, / , lleva a una gran disminucin en el rendimiento del mismo.

7.7.2 El modelo M/M/s


En este modelo, tanto las tasas de llegadas como los tiempos de servicio de cada servidor son constantes ( y respectivamente). Por lo tanto, podemos decir que n = para todo n. Para expresar los n, debemos tener en cuenta que ellas representan la tasa media de servicio global, es decir de todo el sistema y no de cada servidor por separado, cuando se tiene n clientes en el sistema. Dicha tasa global corresponde al tiempo que demore el servidor que termine primero. Entonces, cuando se tiene n servidores ocupados y cada uno tiene tiempo de servicio exponencial de tasa , la tasa global de servicio2 es n. Es decir,

n = n si n < s n = s si n s

Recordar que si se tiene n V.A. exponenciales independientes T1, ..., Tn de parmetros 1, ..., n entonces min(T1, ..., Tn) es una V.A. exponencial de parmetro i.
2

140

Introduccin a la Investigacin de Operaciones

Por tanto, el diagrama de tasas toma la siguiente forma:

0
1

...
s-1

...
s+1

...
n n+1

(s-1)

Condicin de estabilidad
Empleando las condiciones de estabilidad precedentes, podemos deducir que un sistema de este tipo alcanzar un estado estacionario si se cumple la siguiente condicin: < s

Distribucin estacionaria
En ese caso, la distribucin de probabilidades en estado estacionario de cada estado (que se obtiene aplicando las ecuaciones genricas de la seccin anterior) estn dadas por:
P0 = 1 Pn
s 1 n =0

( / )n + ( / )s
n! s!

1 1 ( / s )

si 0 n s 0 n! ( / )n P si s n Pn = 0 s!s n s

( / )n P =

Cantidad esperada de clientes en la fila

=
=

n= s

(n s )Pn
jPj + s

aplicando la frmula general de la seccin anterior

cambio de variable j = n s
sustituyendo Pn por su valor

j =0

( / ) j + s P j
s!s j

j =0

( / )s =
s!
s!

s
s

P0
P0

( / )s =

j =0

j s
1
2

j 1

separando los trminos independientes de j

1 s

sabiendo que
j =0

j j 1 =

1 cuando < 1 (1 )2

141

Introduccin a la Investigacin de Operaciones


P0 ( / ) ( / s )
s

s! 1 s

reordenando trminos

Tiempo esperado de permanencia en la fila


Aplicando la frmula genrica, tenemos

tf =

s P0 ( / ) ( / s ) 1 = 2

s! 1

Tiempo esperado de permanencia en el sistema


En este caso no utilizaremos la frmula genrica. El tiempo de permanencia en el sistema es el tiempo de permanencia en la fila ms el tiempo de atencin. Por tanto, el tiempo esperado de permanencia en el sistema est dado por

ts = t f +

Cantidad esperada de clientes en el sistema


Utilizando las igualdades de Little y operando, tenemos 1 1 = t f + = + = tf + n = ts = t f +

Cantidad esperada de servidores ocupados


Utilizando los resultados anteriores para n y v tenemos

7.7.3 El modelo M/M/1 con fuente de entrada finita


Supongamos ahora que la cantidad de potenciales clientes del sistema es finita. Denotamos con M el tamao de la poblacin potencial. Por lo tanto, cuando la cantidad de clientes en el sistema es n, la cantidad de clientes fuera del sistema es M n. El tiempo que transcurre entre una entrada al sistema y la siguiente, tiene una distribucin exponencial de parmetro . Por lo tanto, cuando hay n clientes en el sistema y M n fuera, el tiempo hasta la prxima entrada es el mnimo de los M n tiempos entre entradas (que son exponenciales de parmetro ); por lo tanto el tiempo hasta la prxima llegada tiene distribucin exponencial de parmetro (M n). 142

Introduccin a la Investigacin de Operaciones

La informacin se resume en el siguiente diagrama de tasas:

0
Es decir,

( 1)
1 2

( 2)
...

(n+2) (n+1)

( n)

( n 1)

n-1

n+1

...

n = ( M n) n = 0 n =
Condicin de estabilidad

si n < M si n M para todo n > 0

Al ser n = 0 a partir de n = M, el sistema siempre alcanzar un estado estacionario (por propiedades vistas en estabilidad de cadenas de Markov y procesos de nacimiento y muerte).

Distribucin estacionaria
Aplicando las ecuaciones genricas, hallamos la distribucin estacionaria del sistema:

P0 = 1

M n =0

M! ( M n)!
n

M! Pn = ( M n)! Pn = 0

P0

para n = 1, 2, ..., M 1 para n M

Cantidad esperada de clientes en la fila

Aplicando la ecuacin genrica, tenemos

=
= =
M n =1 M n =1

M n =1

(n 1) Pn
M n =1

nPn

Pn

separando los trminos pues P1 + ... + PM = 1 P0 Realizando diversas operaciones

nPn (1 P0 )

=M

+ (1 P0 )

143

Introduccin a la Investigacin de Operaciones

Cantidad esperada de clientes en el sistema


n=
M n =0

nPn = + (1 P0 ) = M

(1 P0 )

Cantidad esperada de servidores ocupados

Utilizando los resultados anteriores para n y v tenemos = 1 P0 .


Tiempo esperado de permanencia en la fila

Aplicando la ecuacin genrica tenemos t f = Donde

=
= =

n=0 M

n Pn
( M n)Pn MPn
M n =0 M

aplicando la definicin pues Pn = (M n)Pn cuando 0 n M y Pn = 0 en otro caso separando trminos sacando las constantes fuera de la sumatoria por ser P0 + ... + PM = 1 sacando factor comn

n =0 M n =0

= M

Pn

n =0 M

nPn nPn

= M n = (M n )

n =0

Tiempo esperado de permanencia en el sistema

Del mismo modo, tenemos t s =

7.7.4 El modelo M/M/s con fuente de entrada finita


Supongamos ahora las mismas hiptesis que el caso anterior, pero ahora con s servidores. El diagrama de tasas queda

0
1

( 1)
2

( 2)

(s+2) (s+1)
...
s-1 s

( s)
s+1

( sn 1)
...

M
s

(s-1)

144

Introduccin a la Investigacin de Operaciones

Es decir,

n = ( M n ) n = 0 n = n n = s
Condicin de estabilidad

si n < M si n M para todo 0 < n < s ns

Al igual que para el caso con un solo servidor con fuente de entrada limitada, el sistema siempre alcanzar un estado estacionario, pues el nmero de estados alcanzables es finito.
Distribucin estacionaria

Aplicando las ecuaciones genricas, hallamos la distribucin estacionaria del sistema: P0 = 1

M! n = 0 ( M n)!n!
s 1 n

M! + n s n = s ( M n)!s! s
M

M! Pn = (m n)!n!

P0
n

para 0 n s P0 para s n M n>M

M! Pn = n s (m n)!s!s Pn = 0

Los clculos de las cantidades de inters se realizan de manera similar a los casos anteriores.

7.8 Propiedad PASTA


(Poisson Arrivals See Time Averages) (versin sencilla, sin demostracin)

Para todo sistema de filas de espera en equilibrio, y tal que el proceso de llegada de clientes es un proceso de Poisson, la probabilidad que un cliente al llegar observe al sistema en un estado n dado es igual a la probabilidad asinttica de que el sistema se encuentre en ese estado (pn) Esta propiedad permite calcular diversas medidas. A manera de ejemplo: la probabilidad de que un cliente al llegar encuentre el sistema vaco, es igual a la probabilidad de que el sistema est vaco, p0; en un sistema con un nmero finito de lugares de espera, la probabilidad de que un cliente al llegar sea rechazado es igual a la probabilidad del sistema se encuentre en el estado correspondiente a esa cantidad de clientes en espera.

145

Introduccin a la Investigacin de Operaciones

8. SIMULACIN 8.1 Introduccin


La palabra simulacin es un trmino genrico que describe muy diferentes tipos de actividades incluyendo: roles que se juegan en la vida social o en experimentos sicolgicos, juegos de videos complejos, modelos a escala creados por ingenieros que describen la conducta de puentes o aeropuertos, etc. Para un computlogo, estadstico, cientfico o gerente, se refiere a la construccin de un modelo abstracto que representa algn sistema de la vida real, con la subsiguiente descripcin a travs del tiempo de los pertinentes al sistema como una serie de ecuaciones y relaciones, generalmente a travs de un programa de computadora. Definimos como simulacin de sistemas a la exploracin de mundos posibles y al estudio del desarrollo en el tiempo de esos mundos. Recordemos que: Sistema: es una porcin del universo respecto de un observador o colaborador definido (interior o exterior al mismo), compuesta por un conjunto de elementos y relaciones entre los mismos. Al estudiar un sistema, como observadores, podemos apreciar que hay determinados objetos distintos, llamados entidades. Tambin observamos interacciones entre ellos (que llamamos actividades), las cuales producen cambios en el sistema. Pero para estudiar realmente un sistema se debe poder experimentar con l y ocurre que no se podr experimentar con el sistema real siempre que: a) el sistema an no exista (Ej: al planificar alguna facilidad en la produccin- ej. redes en creacin -, o planificar el abastecimiento de materia prima para un producto nuevo). b) la experimentacin con el sistema sea muy cara (ej: el modelo permitir determinar si es cuerdo asignar cierta cantidad de dinero en un nuevo equipo). c) la experimentacin con el sistema sea inapropiada (ej: planificacin de las actuaciones ante catstrofes por parte de hospitales, policas y servicio de ambulancias). En algunos de estos casos es posible construir un prototipo y probarlo. Pero esto puede ser muy costoso, o poco prctico y a veces imposible. En consecuencia los estudios de los sistemas se realizan con un modelo de los mismos.

146

Introduccin a la Investigacin de Operaciones

8.2 Modelos
Un modelo es el cuerpo de informacin relativa a un sistema recabado con el fin de estudiarlo, un modelo no es slo un sustituto del sistema, es tambin su simplificacin. Adems no existe un modelo nico de un sistema, ya que cada objeto de estudio establecido determinar la naturaleza de la informacin a reunir. Existe una gran diversidad en la manera de clasificar los tipos de modelos en el estudio de sistemas. A veces la clasificacin se realiza segn la naturaleza del sistema a estudiar, a saber: 1) continuo vs. discreto 2) determinstico vs. aleatorio. Consideremos una primera divisin en modelos fsicos y matemticos: Modelo fsico matemtico

esttico

dinmico

esttico

dinmico

numrico

analtico

numrico

Simulacin de Sistemas Esta primera divisin se realiza para tener en cuenta que un modelo no es necesariamente una descripcin matemtica del sistema, existen por ejemplo: modelos a escala que se utilizan en los tneles de viento, tanques de agua para estudiar el diseo de naves acuticas, modelos a escala de cursos de ros, de puertos (ej: Puerto de la Paloma, estudiado por el IMFIA), diversos tipos de modelos. La tercera distincin (nivel) se realiza segn la tcnica empleada para resolver el modelo. En un modelo matemtico, las entidades de un sistema y sus atributos se representan mediante variables y las actividades mediante funciones que interrelacionan las variables (ej. restricciones). Un modelo esttico despliega las relaciones entre los atributos del sistema cuando est en equilibrio, sin mostrar la manera en que cambian los valores de los atributos (no existen actividades).

147

Introduccin a la Investigacin de Operaciones

Un modelo matemtico dinmico permite deducir los cambios de los atributos del sistema en funcin del tiempo y dependiendo de la complejidad del modelo, la deduccin puede hacerse con una solucin analtica o por clculo numrico (ej: el comportamiento de la llanta de un auto en movimiento se modela con ecuaciones diferenciales de 2 orden). Los modelos matemticos dinmicos que se pueden resolver analticamente y que dan resultados prcticos aplicables no son del todo comunes. Lo ms frecuente es que esos problemas deban resolverse mediante mtodos numricos y la simulacin es uno de esos mtodos. Un ejemplo de modelo matemtico dinmico es el que describe las condiciones bajo las cuales vibra la estructura de una aeronave, modelo que se puede plantear pero no resolver analticamente. La cuestin de si habr o no vibraciones se puede determinar numricamente calculando las races de determinadas ecuaciones asociadas. En este caso los clculos numricos no constituyen simulacin, ya que el clculo no sigue el movimiento de la estructura de la aeronave en el tiempo, es sencillamente un procedimiento para determinar las races de una ecuacin, es un mtodo numrico puro. Se tratar de simulacin si los clculos tienen en cuenta los cambios producidos en el tiempo, es decir si describimos a travs de algn mecanismo la distintas variaciones producidas en determinado intervalo de tiempo.

8.3 Simulacin de sistemas


Simulacin de sistemas es equivalente a la exploracin de mundos posibles. Es una tcnica identificada con la resolucin simultnea de tosas las ecuaciones del modelo con valores continuamente crecientes del tiempo, es decir la tcnica de resolver problemas siguiendo los cambios en el tiempo de un modelo dinmico de un sistema.
Cmo se enmarca la simulacin en la Investigacin de Operaciones? La simulacin se ha convertido en la rama experimental del rea.

Durante el curso se hace hincapi en el planteo y resolucin de los modelos matemticos en forma analtica, ya que por lo general el enfoque analtico es superior al de la simulacin en cuanto a la exactitud de la resolucin del problema. Sin embargo muchos problemas son tan complejos que no se pueden resolver analticamente, lo que nos impedir tomar una decisin. Slo entonces se deber recurrir a la simulacin, cuando sea el nico enfoque prctico del problema. Se debe destacar que a medida que aparecieron computadoras ms rpidas se comenz a experimentar ms y ms en la utilizacin de modelos numricos y en la simulacin hasta que en la actualidad esta tcnica se usa en reas tan diversas como: - construccin de prototipos de automviles, aviones, armas de guerra - medicina - procesos de produccin - modelos economtricos - problemas logsticos.

148

Introduccin a la Investigacin de Operaciones

Toma tambin gran importancia para algunas aplicaciones la simulacin grfica o icnica, la cual, como su nombre indica, no slo est basada en un modelo numrico matemtico que permite obtener los valores que se desea estudiar, sino que permite visualizar el desarrollo de la simulacin.
Ventajas de la simulacin en computadoras:

1) Permite estudiar y experimentar en las complejas relaciones e interacciones que existen y ocurren en el interior de un sistema real. 2) Permite experimentar sobre un sistema que puede no existir en la realidad (de otra manera sera imposible) y en este caso asiste a la decisin de construirlo o no. 3) Se ahorra mucho tiempo y dinero y se evitan riesgos. 4) Se logra independencia de la duracin real del evento. Por ejemplo se puede simular procesos muy largos como muy cortos: - Estudiar el crecimiento de una cierta planta mediante simulacin en poco tiempo, lo que en la realidad puede llevar mas de 400 aos. - Estudiar las reacciones nucleares que son eventos que ocurren en millonsimas de segundo. 5) Se puede estudiar como reacciona el sistema al introducir variantes, sin correr riesgos (estudio de sensibilidad). 6) Se puede aplicar para verificar soluciones analticas (Montecarlo). Ofrece mayor facilidad para estudiar sistemas dinmicos y no determinsticos

8.4 Etapas en el proceso de Simulacin de Sistemas


La simulacin se puede aplicar a una infinidad de tipos de sistemas lo que produce una amplia variedad en la forma en que se desarrolla su aplicacin. A pesar de esta variedad se pueden identificar determinados pasos bsicos en un proceso de (estudio de la ) simulacin, en los que reconocemos los pasos de una metodologa cientfica. Estas etapas, que se enumeran a continuacin, no son totalmente secuenciales dado que muchas veces se debe reiterar y volver atrs, realizando nuevamente etapas anteriores. 1) FORMULACIN DEL PROBLEMA 2) PLAN DE ESTUDIO 3) FORMULACIN DEL MODELO MATEMTICO 4) CONSTRUCCIN DEL PROGRAMA EN COMPUTADORA PARA EL MODELO 5) VALIDACIN DEL MODELO 6) DISEO DE EXPERIMENTOS 7) EJECUCIN DE LAS CORRIDAS DE SIMULACIN Y ANLISIS DE RESULTADOS Los dos primeros pasos parecen obvios pero son de fundamental importancia; no debe comenzarse ningn tipo de simulacin sin antes enunciar claramente el problema y los objetivos de su estudio. 149

Introduccin a la Investigacin de Operaciones

Luego podr establecerse un plan de trabajo que permitir controlar el desarrollo del trabajo, impidiendo que ele estudio se desbalancee concentrndose en algn aspecto del problema a costa de otro. Un fracaso comn en los estudios de simulacin es concentrarse demasiado en estas fases y extraer ms datos de los necesarios o de los que pueden validarse con los datos disponibles. En el tercer paso para construir un modelo, debemos a) establecer la estructura del modelo, decidiendo cuales son los aspectos significativos del problema en el comportamiento del sistema. b) reunir los datos necesarios que proporcionen parmetros correctos para el modelo El cuarto paso, la construccin de un programa, es una tarea relativamente bien definida y no necesariamente fcil. El modelo establecer las especificaciones de lo que se debe programar. En algunas ocasiones, las etapas 3 y 4 pueden realizarse en paralelo. Se puede contar con lenguajes especficos de simulacin que brindan al usuario no solamente el lenguaje en s, sino tambin un conjunto de conceptos de modelado que se utilizan para describir el sistema, con herramientas de especificacin del mismo, facilitando la conversin del modelo a programa de computadora, e incluso en algunos casos liberando al usuario de mucho detalle de programacin, brindando facilidades de generacin de cdigo a travs de esqueletos estndar. Simulacin Continua: 1130/CSMP, 360 CSMP y DYNAMO. Simulacin a Eventos Discretos: GPSS, SIMSCRIPT, SDL/SIM. Para ambos: SIMULA, lenguaje nrdico orientado a objetos, que a pesar de su edad, continua siendo el ms elegante creado para simular, que engloba varios conceptos de sistemas y modelado, entidad, atributos, actitudes... Por supuesto que se puede programar simuladores en C++, ADA, PROLOG, MODULA, FORTRAN , PASCAL, etc. El quinto paso: validacin del modelo, requiere una gran cuota de juicio y criterio comn, ya que las hiptesis hechas al establecer el modelo deben comprobarse observando si el modelo se comporta como se esper. En realidad se debera validar el modelo matemtico antes de iniciar la programacin, pero generalmente la razn de la simulacin es que el modelo no es manejable, entonces por regla general la validacin se desarrolla examinando la versin programada del modelo (a la vez que se pueden observar errores de programacin). El sexto paso es el diseo de un conjunto de experimentos de acuerdo a las objetivos del estudio. Una falla comn es la obtencin de una masa abrumadora de resultados

150

Introduccin a la Investigacin de Operaciones

que se recaban sin plan determinado. Se debe tener en cuenta tambin el significado estadstico de los resultados ante la presencia de eventos aleatorios en la simulacin. Por ltimo el sptimo paso es ejecutar las interpretar los resultados. corridas planificadas y estudiar o

Si el estudio ha sido bien planificado se habr planteado un conjunto bien definido de preguntas y el anlisis tratar de responderlas. Por supuesto, estas etapas no son del todo secuenciales sino que muchas veces debe volverse atrs y afinar incluso los objetivos e hiptesis planteadas.

8.5 Clasificacin de tipos de simulacin


La simulacin se puede clasificar en tres tipos: 1. Simulacin Continua 2. Simulacin a eventos discretos 3. Simulacin estadstica o Mtodo Monte Carlo - Simulacin Continua: modela sistemas continuos, donde el inters primordial son los cambios suaves. Por ejemplo el comportamiento de algunos parsitos (las fluctuaciones en el nmero de su poblacin con respecto a la poblacin de sus anfitriones), la posicin relativa de un conjunto de astros, etc. Para ello se utilizan conjunto de ecuaciones diferenciales que se resuelven simultneamente. - Simulacin a eventos discretos: se aplica en sistemas discretos, donde el inters primario est en los eventos, siendo las ecuaciones que los describen ecuaciones lgicas que expresan las condiciones para que ocurra un evento. La simulacin consiste en seguir los cambios en el estado del sistema producidos por la sucesin de eventos. Un evento describe la ocurrencia de un cambio en un instante de tiempo y por lo tanto puede provocar un cambio en el valor de algn atributo de una entidad o de la entidad en s (crear o destruir una entidad, iniciar o detener una actividad), lo cual requiere la construccin de un programa que permita seguir la secuencia de eventos. Llamamos entidad a cualquier objeto de inters en el sistema, atributo denota una propiedad de una entidad, y todo lo que provoque cambios en el sistema se conocer como actividad del mismo. El trmino estado del sistema indica una descripcin de todas las entidades, atributos y actividades segn su existencia en algn instante del tiempo. El progreso o desarrollo en el tiempo del sistema se estudia siguiendo sus cambios de estado. Por ello es necesario llevar un registro del paso del tiempo, al que llamamos "tiempo de reloj" que es un nmero, inicializado en 0 al comienzo de la simulacin, y que va indicando cuantas unidade3s de tiempo simulado han transcurrido desde el comienzo..

151

Introduccin a la Investigacin de Operaciones

Al menos que especficamente se exprese de manera contraria, el trmino "tiempo de simulacin", significa el tiempo del reloj indicado y no el tiempo que ha necesitado la computadora para realizar la simulacin (tiempo de cmputo) es ms, por lo general, no existe una relacin directa entre ambos. Si simulsemos el sistema operativo de una computadora, en el que los eventos reales ocurren en intervalos medios en fracciones de microsegundos, aunque la realizsemos en una mquina de alta velocidad, notaramos que la simulacin tomara fcilmente miles de veces ms tiempo que la operacin real del sistema. Por otro lado, para la simulacin de un sistema econmico, en el que se ha estudiado eventos que ocurren una vez al ao, es fcil realizar una operacin de cien aos en unos cuantos minutos de clculo. Existen dos mtodos para actualizar el tiempo del reloj, a los que llamamos mecanismo de control de flujo de tiempo. a) el reloj avanza a la hora en que debe ocurrir el siguiente evento, conocido como mecanismo orientado al evento. b) el reloj avanza en intervalos pequeos (generalmente uniformes) y en cada intervalo se determina si debe ocurrir un evento o no, llamado mecanismo orientado a intervalos, usado normalmente en simulacin continua.
Ejemplo: Simulamos la llegada de barcos a un muelle, para contabilizar la cantidad de barcos que llegan a l y su tiempo de espera para atracar.

Comienzo <Max := tiempo del perodo de simulacin> <Sortear el tiempo de la prxima llegada: T(prx lleg)> <Crear una entidad barco, asignarle atributo tiempo de llegada: barco.t(lleg)> <Reloj := T(prx.lleg)> Mientras reloj<Max <Actualizar contador de barcos llegados> <Actualizar la cola de barcos en espera por muelles segn el tiempo del Reloj y tomar los datos pertinentes> Si <hay algn muelle libre> <Quitar el primero de la cola> <Calcular tiempo de espera: Reloj-barco.t(lleg)> <Sortear tiempo de ocupacin del muelle> <Ocupar el muelle libre> Si no <Colocar el barco llegado como ltimo en la cola> Fin si <Sortear T(prx. lleg)> Reloj := Reloj + T(prx. lleg) Fin mientras <Procesar los resultados (estadsticos) de la corrida> Fin

152

Introduccin a la Investigacin de Operaciones

- Simulacin estadstica: a veces llamada Mtodo Monte Carlo, es el muestreo de los mundos posibles de nuestro sistema, mtodo que estudiaremos con ms detalle.

8.6 Generacin de nmeros aleatorios


La generacin de valores de variables aleatorias tiene un rol preponderante en el proceso de simulacin, para generar variables aleatorias es necesario contar con un generador de nmeros aleatorios. Los nmeros aleatorios deben tener las siguientes caractersticas :
1) Distribucin Uniforme. Lo que significa que cualquier nmero que pertenezca al rango de inters debe tener la misma chance de resultar sorteado. 2) No exista Correlacin Serial. Lo que significa que la aparicin de un nmero no afecta de ninguna manera la chance de aparecer de otro nmero o de s mismo.

Por ejemplo si un generador de nmeros naturales del 1 al 5 nos entrega la sucesin 1 2 3 4 5 1 2 3 4 5 ... la misma es uniforme pero esta totalmente correlacionada ==> no hay aleatoriedad. Existen Tests para comprobar que un generador cumpla estas dos condiciones. Veremos tres formas diferentes de generar nmeros aleatorios: 1) Utilizacin de tablas de nmeros aleatorios. 2) Nmeros generados en forma aleatoria. 3) Nmeros pseudoaleatorios

8.6.1 Utilizacin de tablas de nmeros aleatorios


Existen tablas de nmeros aleatorios, las cuales pueden ser cargadas en la memoria de la mquina, en 1955 la compaa RAND (Research & Development ) public una tabla con un milln de nmeros. Estas tablas se generan con mtodos aleatorios puros como ser ruletas, extraccin de nmeros al azar, dados, etc. Tienen como ventaja el ser nmeros aleatorios puros pero sus desventajas son, entre otras: - pueden ocupar mucha memoria - hay que cargar la tabla en memoria - la sucesin de nmeros es finita

8.6.2 Nmeros generados en forma aleatoria


En base a algn circuito o caracterstica de la mquina se generan nmeros que son totalmente aleatorios.

153

Introduccin a la Investigacin de Operaciones

El mtodo bsicamente consiste en interrumpir un proceso uniforme en forma aleatoria (que es esencialmente lo que ocurre cuando la bola cae en un casillero de la ruleta). Estos mtodos tienen la misma ventaja que el primero o sea que se obtienen nmeros aleatorios puros y como desventajas se puede decir que si se desea generar la misma secuencia de nmeros ms de una vez, es necesario grabarla puesto que no hay forma de asegurarse de obtener la misma secuencia automticamente. Veremos dos ejemplos, uno en base a la utilizacin de un circuito especial y el otro simplemente con un programa y la participacin de un operador.
Ejemplo 1. HARDWARE GENERATOR

Es una tarjeta que se coloca en el slot de un PC, genera nmeros aleatorios reales y su costo en 1985 era de 600 dlares (lo que representa un costo que no aparece si utilizamos generadores de nmeros pseudoaleatorios ). Funciona de la siguiente forma: Tiene un oscilador que enva pulsos que son contados por un contador digital. Los momentos de arranque y parada del oscilador se controlan en forma aleatoria con los pulsos que provee la descarga de un istopo radioactivo (el primero prende el oscilador y pone el contador en 0, el segundo apaga el oscilador y devuelve el nmero). El nmeros de pulsos del oscilador que cuente el contador ser el nmero aleatorio generado. 1er. pulso ISOTOPO 2do. pulso 0 +1 CONTADOR Cuenta nro. aleatorio
Ejemplo 2. Programa que al ser interrumpido por el operador entrega un nmero aleatorio entre 1 y 100.

ON OSCILADOR OFF

pulso

While not exit For i:=1 to 100 Char := inkey If Char= " " then print i End For End While

154

Introduccin a la Investigacin de Operaciones

Como la mquina hace ms de 1 milln de operaciones por segundo existe una gran disparidad entre el toque de tecla por intermedio del operador el programa y la velocidad con que se ejecuta el loop, por lo que no se podr gobernar el ritmo, ya que si as fuera el operador podra "manejar" los resultados.

8.6.3 Nmeros pseudoaleatorios


Se generan a travs de una frmula e imitan los valores de una variable aleatoria y cumplen los tests como si fueran esa variable aleatoria. Se llaman pseudoaleatorios porque se obtienen realizando un conjunto de operaciones sobre el nmero generado antes ( recurrencia ) por lo que no son realmente aleatorios segn lo expuesto antes. A pesar de esto muchos de los mtodos de generacin de nmeros pseudoaleatorios se comportan correctamente y pasan todos los tests. Presenta la gran ventaja de ser un mtodo muy veloz y barato y la mayor desventaja es que son de perodo finito. La secuencia de nmeros generados debe cumplir con las 2 hiptesis ya mencionadas: 1) Distribucin Uniforme 2) Independencia (no correlacionados) y adems son importantes los siguientes aspectos : a) las subsecuencias tambin deben cumplir 1) y 2) b) deben ser secuencias largas y sin huecos (densas) c) algoritmos rpidos y que no ocupen mucha memoria.
Mtodo de Centros de Cuadrados

Este mtodo fue planteado por Von Neumann en 1950. Se basa en tomar un nmero, elevarlo al cuadrado y tomar los dgitos del centro como nuevo nmero, luego repetir el procedimiento. Ejemplo con 4 dgitos : 2061 4247721 2477 6135529 1355 ...

La desventaja es que la secuencia generada por lo general es corta. El ejemplo anterior luego de 34 nmeros degenera a 0; y si en lugar de empezar con 2061 empezamos con 2500, se repite 2500 en la primer iteracin (y por lo tanto, en todas las restantes). An as si se toman nmeros muy largo se puede llegar a secuencias de 100,000 nmeros diferentes.
Mtodo Congruencial Lineal

Este mtodo es el utilizado por excelencia y se basa en la siguiente recurrencia : Zi = ( A * Zi-1 + C ) mod M de donde se deduce que : Zi = A * Zi-1 + C - (A * Zi-1 + C) / M * M

155

Introduccin a la Investigacin de Operaciones

(notacin: x : mayor entero menor o igual a x) y se puede demostrar por induccin completa que : Zn = ( Z0 * An + (An 1)/(A - 1) * C ) mod M Si se quieren obtener nmero Uniformes (0,1) se normaliza el resultado: Ui = Zi /M Ejemplos: a) A = 3, C = 0, M = 5 y Z0 = 4: 2,1,3,4,2,1,... b) A = 3, C = 0, M = 9 y Z0 = 4: 3,0,0,... Se desprende del ejemplo que en este mtodo si se repite un nmero ya se repite toda la secuencia. Presenta la ventaja de gastar poca memoria y ser muy rpido. Adems es muy fcil volver a generar la misma secuencia guardando un solo nmero ( alcanza con partir de la misma semilla Z0 ). Es muy importante la eleccin de las constantes A, C, M y la semilla Z0 ya sea para la velocidad de generacin como sobre todo para el largo de la secuencia. En la prctica para aumentar la velocidad de clculo se suele tomar M=, donde es el nmero base de operacin de la mquina, por lo que en mquinas binarias =2, esto permite calcular muy fcilmente el resto y efectuar la normalizacin a U(0,1) operando con desplazamientos y no con divisiones y multiplicaciones. Con respecto al largo del perodo de la secuencia siempre ser menor o igual a M y es deseable obtener el largo mximo (o sea M) aunque no siempre es posible. Cuando se obtiene largo mximo se dice que el mtodo es de Perodo Completo. Se distinguen dos casos segn el valor de C. Si C = 0 , se llama METODO CONGRUENCIAL MULTIPLICATIVO PURO Si C 0 , se llama METODO CONGRUENCIAL MULTIPLICATIVO MIXTO

8.6.4 Tests o pruebas de Independencia y Uniformidad


Veremos a continuacin a manera de ejemplo algunos test que como mencionamos anteriormente se utilizan para comprobar la uniformidad e Independencia de las secuencias de nmeros generados.
Test de

Este test sirve para probar la uniformidad de la secuencia de los nmeros generados (aunque se puede utilizar para comprobar otras funciones de distribucin ). El mtodo consiste en tomar n observaciones independientes de la variable aleatoria (en nuestro caso los nmeros generados ) que llamaremos X1, X2, ... ,Xn Se divide el intervalo de variacin de la variable aleatoria (V.A.) en K categoras, debiendo conocer la probabilidad Ps de que la v.a. caiga en cada categora s.

156

Introduccin a la Investigacin de Operaciones

Sea Ys la cantidad de valores de Xi que caen en la categora s. Tenemos entonces : Y1+ Y2+ ... +Yn = n P1+ P2 + ... + Pn = 1 Construimos el estimador: V =
k s =1

(Ys nPs )
nPs con k-1 grados de

Se puede demostrar que V es una V.A. con distribucin libertad para n

Se desprende que el n debe ser grande para que el test sea vlido y adems se debe cumplir que nPs > 5 para todo s. Para aplicar el mtodo se calcula el valor de V y se analiza el mismo utilizando la tabla de (ver por ejemplo el Apndice 5 del Hillier-Lieberman). Dado un nivel de significacin (por ejemplo 0,05 o 95 %) nos fijamos en la tabla el valor correspondiente a ese nivel y a los k-1 grados de libertad. Si V es mayor que el valor crtico fijado en la tabla se rechaza la hiptesis de que la V.A. tenga la distribucin en cuestin y sino se acepta. Para probar que los nmeros estn uniformemente distribuidos planteamos la hiptesis de que tienen distribucin uniforme, por lo tanto dividimos el intervalo en K categoras con la probabilidad de caer en cada una igual a 1/K. Ejemplo: tomo 10 categoras, 95 % de significacin, me fijo en la tabla de y el valor crtico es 16,9. Calculo V, con los Yi obtenidos contando los 1000 Xi generados con el programa ( n = 1000 ) y con Ps = 1/10 para todo s. Si para un caso concreto V result ser 3,76 ( o sea menor que 16,9 ) se dice que "se pasa" la prueba y se puede concluir que el programa genera nmeros aleatorios uniformemente distribuidos.
Test Serial

Este test sirve para probar la correlacin seria de la secuencia de nmeros observados. Se agrupa la muestra en pares de valores los cuales deben estar distribuidos uniformemente y en forma independiente. La muestra es de 2n valores. Considero las n parejas X2j, X2j+1 con 0j n: (X 0 , X 1 ) (X 2 , X 3 ) ( X 2n 2 , X 2n 1 ) 1 2 n 1 Cada pareja tiene probabilidad P(X2j, X2j+1 ) = 1/K, y tendremos K categoras (que son la cantidad de combinaciones posibles de las parejas de valores ). Se aplica el test de con K-1 grados de libertad con el mismo criterio que definimos anteriormente.

157

Introduccin a la Investigacin de Operaciones

Aplicando el mtodo al mismo ejemplo que tomamos en la seccin anterior se calcula el V pero ahora tendremos 10 = 100 categoras y cada una con Ps = 1/100.

8.7 Generacin de variables aleatorias


Ahora pasemos a ver como sortear variables aleatorias discretas y continuas. Llamamos sorteo de la v.a. X al proceso de determinacin de un valor de esta v.a. X, mediante la transformacin de varios valores de otra v.a. u, uniformemente distribuida en el intervalo U(0,1) llamada esta ltima: semilla del sorteo, generadas con algunos de los mtodos de la seccin anterior.

8.7.1 Generacin de variables aleatorias discretas


Consideramos la v.a X, cuyos valores posibles son x1, x2,,...,xn con probabilidad
n

respectiva p1, p2,...,pn (por lo tanto


i =1

p i = 1 ).

Dividimos un intervalo 0<y<1 en intervalos de longitud p1, p2,...,pn : i=1 0


i 1 j =1 i j =1

2 p1 p1+ p2

3 p1+ p2 +p3 ...

n 1-pn 1 y

de tal modo que al intervalo i le corresponden aquellos valores xi que cumplen: p j xi p ji

entonces cada vez que realicemos un experimento para sortear X, tomamos un valor u de distribucin U(0,1) y construimos el punto y=u. Si este punto aparece en el intervalo correspondiente al nmero i aceptamos que X=xi en este sorteo. La validez de este mtodo se debe a que al estar u uniformemente distribuida en [0,1] la probabilidad de que u pertenezca a uno de los intervalos es igual a la longitud del mismo. P(0 u p1 ) = p1 0 P( p1 u p1 + p 2 ) = p 2 P(1 p n1 u 1) = p n
Ejemplo: Una V.A. X puede tomar los valores : rojo con prob. 1/6, azul con prob. 1/3 y blanco con prob. 1/2. Armo el esquema: rojo azul blanco

Sorteo u =

0 1/6 1/2 blanco 0,1212 X = rojo 0,9432 blanco 0,6111 blanco

158

Introduccin a la Investigacin de Operaciones

0,4343

azul

Generacin de variables aleatorias con distribucin Geomtrica

Se define la V.A. X con distribucin geomtrica donde X es el nmero de pruebas de Bernoulli (experimento con solo 2 resultados que llamaremos xito o fracaso ) con xito antes de que ocurra un fracaso en la prueba (X+1)-sima. La v.a. X tiene la siguiente ley de probabilidad : P( X = a ) = p a (1 p ) donde p es la probabilidad de xito y (1-p) la de fracaso. Se puede generar una V.A. geomtrica con el siguiente algoritmo : 1) i := 0 2) Generar u , v.a. U(0,1) 3) Si u p hacer i := i + 1 e ir al paso 2 Sino devolver i como la V.A. geomtrica de parmetro p

8.7.2 Generacin de variables aleatorias continuas


Veremos algunos mtodos para la generacin de v.a. genricas y algn ejemplo de v.a. particulares.
El Mtodo de la Transformacin Inversa

Se utiliza para generar v.a. continuas. Para generar una v.a. X con distribucin FX ( x ) =
x

f X (t )dt , tomamos una v.a U de

distribucin uniforme U(0,1) y hacemos X = FX1 (U ) . Calculando, vemos que P( X x ) = P F X1 (U ) x = P[U F X ( x )] = F X ( x ) , es decir que la v.a. X generada de esta manera posee la distribucin deseada. En resumen el mtodo consiste en igualar la funcin de distribucin a una V.A. U uniforme (0,1) y poder despejar X en funcin de U, como ya sabemos como generar las V.A. U(0,1), teniendo las mismas generamos las X deseadas. U = FX ( x ) X = FX1 (U )

El problema se reduce a encontrar una expresin analtica de la funcin inversa a la de distribucin. Esto no necesariamente es una tarea sencilla, aunque siempre existe solucin dado que la derivada de FX es fX , que es siempre 0 y montona creciente. Otro problema con el enfoque es el hecho de que aun cuando se encuentre la expresin analtica de la inversa de la distribucin, su clculo puede insumir demasiados recursos.

159

Introduccin a la Investigacin de Operaciones

Interpretacin Geomtrica :

1 FX(x) u

Ejemplo: Distribucin Uniforme U(a,b) x x 1 1 FX ( x ) = dt ; entonces se toma u = dt ; integrando llegamos a a ba a ba xa x = a + u (b a ) , donde x ser una v.a. U(a,b) si tomamos u una v.a. u= ba U(0,1) (que puede ser obtenida a partir de un nmero seudoaleatorio, generado con los mtodos vistos en la seccin 2).

Ejemplo: Distribucin Exponencial de parmetro a. FX ( x ) = 1 e ax e ax = 1 u ax = ln(1 u ) x = (1 / a) ln(u ) Tomamos u = 1 e ax ya que tomar la V.A. 1-u es lo mismo que u ( porque u es U(0,1)).

Entonces x = (1 / a) ln(u ) es una v.a. exponencial de parmetro a con u v.a.. U(0,1) que se genera con uno de los mtodos vistos en la seccin 2.

Generacin de variables aleatorias con distribucin Normal(0,1)

X es una V.A. con distribucin N(0,1) si su funcin de densidad f X ( x ) =

1 2

e x

/2

Describiremos el mtodo Polar para la generacin de v.a. N(0,1), ya que la funcin de distribucin de una v.a. normal no tiene inversa de resolucin analtica. 1) Sean u1 y u2 v.a. de distribucin U(0,1); definimos v1 = 2u1 1 v2 = 2u2 1 s = v1 + v2
2 2

2) Si s 1 vuelvo a 1 x1 = v1 2 ln(s ) / 2 Si no tomo , que son v.a. N(0,1). x2 = v2 2 ln(s ) / 2

( (

) )

160

Introduccin a la Investigacin de Operaciones

El mtodo genera 2 v.a. por vez y se llama Polar porque es equivalente a hacer: Generar R U(0,1) , U(0,2) y tomar
x1 = 2 R ln R 2 cos x2 =
2

( ) 2 R ln (R ) sen

Teniendo una v.a. X que sea N(0,1) se pasa directamente a una Y que es N(a,) 2 2 1 con densidad fY ( y ) = e ( y a ) / 2 , tomando y = x + a es N(a,). 2 Resumiendo, en una simulacin se toman muestras de distribuciones para proveer a las actividades de tiempos reales, y establecer criterios realistas de decisin. Puede usarse muchas distribuciones diferentes; muchas veces es necesario hacer hiptesis sobre a qu distribucin corresponden los eventos que se estudian, esto debe ser realizado con especial cuidado, basando la eleccin de las distribuciones y los valores de sus parmetros en informacin recogida o brindada por las personas que trabajan con el sistema real a simular.

8.8 Mtodo Montecarlo


Los primeros experimentos de simulacin se realizaron en el ao 1940 en EEUU bajo el nombre de anlisis MonteCarlo. Los pioneros fueron Von Neumann y Ulam que publicaron un artculo intitulado "The MonteCarlo method" en 1949. Las primeras aplicaciones realizadas fueron en el campo blico (2da guerra mundial) para el estudio de la bomba atmica y las armas nucleares, estudiando el comportamiento aleatorio de los neutrones y su difusin. El mtodo en si ya era conocido en estadstica, disciplina donde muchos problemas se resuelven utilizando muestras aleatorias (de hecho, aplicando este mtodo). Entonces podemos definir el mtodo MonteCarlo como el mtodo numrico de simulacin que permite resolver problemas matemticos mediante la simulacin de variables aleatorias. El nombre proviene del principado de Mnaco, ya que el aparato ms sencillo para obtener valores aleatorios es la ruleta. Propiedades y caractersticas importantes del M.M.C. 1) algoritmo de estructura muy sencilla. Como regla se elabora primero un programa para la realizacin de una prueba aleatoria (una muestra, por ejemplo: escoger un punto aleatorio en una superficie, y comprobar si ese punto pertenece o no a una figura de la superficie). Esta prueba se repite N veces de modo que cada experimento sea independiente de los restantes, y se toma la media de todos los resultados de los experimentos.

161

Introduccin a la Investigacin de Operaciones

2) El error del valor obtenido es como regla proporcional a la magnitud

2 / N siendo 2 la varianza (constante) y N el nmero de pruebas. De esta forma,


para disminuir el error 10 veces deberemos aumentar N (volumen de trabajo) 100 veces. Es de notar que es imposible alcanzar una elevada exactitud, por eso el Mtodo Monte Carlo resulta especialmente eficaz en la solucin de problemas en los que se necesita conocer los resultados con una exactitud del 5 al 10% (intervalo de confianza 95%, 97,5%). La exactitud de los resultados se puede mejorar con tcnicas de reduccin de varianza, sin tener que aumentar el volumen de trabajo (N). Un mismo problema puede ser resuelto utilizando distintas variantes del mtodo, es decir mediante la simulacin de distintas variables aleatorias. El mtodo es aplicable en situaciones de diversa ndole: a) Problemas aleatorios diversos, orientados a eventos o no. Se resuelven creando un modelo probabilstico artificial, que cumpla con las leyes de probabilidad que se dan en el sistema real. Ejemplos: - estudio de la demanda de energa elctrica en un cierto perodo: depende de factores puramente aleatorios, como el clima - juegos de azar - estudio de la cantidad de barcos llegados a un puerto por da b) Problemas matemticos determinsticos. Cuando los problemas determinsticos son imposibles de resolver analticamente o muy complicados se puede llegar a una solucin aproximada mediante el uso de un modelo artificial cuyas funciones de distribucin y densidad satisfagan las relaciones funcionales del problema determinstico. Ejemplos: - clculo de integrales mltiples - ecuaciones diferenciales de orden mayor que dos. Por ello se puede hablar del MMC como un mtodo universal de resolucin de problemas matemticos. Utilicemos el mtodo para calcular el rea de un cuadrado de lado <1. Planteamos un experimento aleatorio tal que colocamos una tabla como en la figura: 1
S

162

Introduccin a la Investigacin de Operaciones

y hacemos que alguien con los ojos vendados tire dardos a la tabla. Los dardos van a perforar la tabla en N puntos aleatorios. Cmo podemos estimar el rea del cuadrado S a partir de esos puntos? Nos fijamos cuntos puntos estn dentro de S (sean N'); supongamos que N'=5, siendo N=40. Entonces la estimacin del rea de S est dada por N'/N=5/40=1/8=0,125, siendo el valor exacto en este dibujo 0,3*0,3=0,09. Ntese que el rea buscada cumple la relacin N'/N (independiente de la forma del rea incgnita) y que cuanto mayor sea N ms nos vamos a acercar a la relacin S/1. Para que este mtodo de calcular el rea tenga validez, los puntos aleatorios deben estar distribuidos en forma uniforme en la superficie total, y deben ser obtenidos en forma independiente.
Clculo de

Veremos, a modo de ejemplo, como calcular una aproximacin del valor , mediante el mtodo MonteCarlo (este problema tiene soluciones eficientes en forma analtica o numrica). 1) Tomamos un crculo de radio 1 centrado en el origen, sabemos que el rea del cuarto de crculo inscrito en el ortante positivo es /4. 2) Sorteamos puntos en el ortante positivo de lado 1 y lo hacemos obteniendo dos valores, uno para x (abscisa) y otro para y (ordenada) cada vez, obteniendo un punto (x,y). 3) Contamos cuantos puntos de los sorteados caen dentro del rea del cuarto de crculo (In) y cuntos fuera (Out), sabiendo que si x2+y2>1 el punto est fuera, y si no dentro. 4) El valor estimado del rea que queremos hallar es In/(In+Out), y ese valor ser aproximadamente el de /4, por lo que ser aproximadamente igual a 4* In/(In+Out) (en este caso, N=In+Out). Esta forma de calcular es relativamente lenta y poco precisa, pero muestra la forma de utilizar MonteCarlo, que en el caso de otras constantes es el nico mtodo disponible.
Justificacin terica

Sea X una v.a. con esperanza E(X) = m y varianza Var(X) = . Tomo una sucesin de n v.a. Xi independientes y con igual distribucin , siendo E(Xi) = m y Var(Xi) = . Por el teorema Central del Lmite la v.a. Z = X1 + X2 + X3 + .... + Xn se aproxima (y es asintticamente igual) a una v.a. con distribucin normal N(nm, n).

163

Introduccin a la Investigacin de Operaciones

Aplicando la "regla de las 3", tenemos que para una v.a. Y de distribucin N(a, ):
a 3

fY (t )dt = 0,997 densidad de la v.a. Y, por lo que

a 3

siendo fY(t) la funcin de P(a 3 Y a + 3 ) 0,997 .

Aplicando esto a la V.A. Z tenemos : P Nm 3 N Z Nm + 3 N 0,997

( ) P (m 3 / N Z / N m + 3 / N ) 0,997 P ( 3 / N Z / N m 3 / N ) 0,997 P ( Z / N m 3 / N ) 0,997


P X i / N m 3 / N 0,997

Lo que significa que podemos estimar m , es decir la esperanza o valor medio de la v.a. X, calculando el promedio de las distintas muestras obtenidas: ( X i )/ N , sabiendo que con probabilidad muy cercana a 1, el error de este promedio est acotado por la cifra 3/N. Esto sugiere que para que el mtodo tenga un buen resultado N debe ser grande y pequea, por lo que es importante saber cual es el valor de la varianza obtenida, con ello sabemos cul es la dispersin de las muestras obtenidas. La varianza 2 se estima con el siguiente clculo:
1 Var ( X ) N 1
N j =1

(X )
j

1 N

N j =1

Xj

Se debe tener especial cuidado en que todas las N corridas sean independientes entre s, para asegurar que los valores Xi son muestras de v.a. independientes y que por lo tanto estamos dentro de las hiptesis del teorema central del lmite. Esta independencia se asegura utilizando distintas semillas en el sorteo de las v.a. Xi , de acuerdo a lo visto en las secciones anteriores.

164

You might also like