View
794
Download
2
Category
Preview:
Citation preview
ASIGNATURA: SIMULACIÓN DE SISTEMAS
Código: 337
U.C.: 4
CARRERA: Ingeniería de Sistemas
Código: 236
SEMESTRE:
VII
AUTOR:
Lic María Eugenia Mazzei (Especialista en contenido) Ing. Javier Torrealba (Especialista en contenido)
ASESORES: Ing. Judit Carvallo (Coordinadora de la carrera)
DISEÑO ACADÉMICO Dra. Egleé Arellano (Diseñadora de Instrucción)
Caracas, Marzo 2006
UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO AREA: INGENIERÍA / CARRERA: INGENIERÍA DE SISTEMAS MATERIAL INSTRUCCIONAL DE APOYO
Simulación de Sistemas - 337
2
Tabla de Contenido
PáginaII. Introducción……………………………………………………………………. 4 III. Objetivo del curso……………………………………………………………... 6 IV. Contenido………………………………………………………………………... 6
Módulo I: Fundamentos de Modelos Matemáticos………………………….. 6 Objetivo…………………………………………………………………………… 6 Estructura………………………………………………………………………… 6 Unidad 1: Modelos Matemáticos…………………………………………….. 7 Objetivo…………………………………………………………………….. 7 Contenido…………………………………………………………………... 7 Recomendaciones para el estudio del contenido de la Unidad……… 8 Sistema…………………………………………………………………….. 9
Modelo……………………………………………………………………… 10 Modelo Matemático……………………………………………………….. 15 Variable de estado………………………………………………………... 15 Formulación de un modelo matemático………………………………... 17 Ejercicios de autoevaluación…………………………………………….. 20 Respuestas a los ejercicios de autoevaluación……………………….. 22
Unidad 2: Ecuaciones de Diferencias Finitas……………………………..... 24 Objetivo……………………………………………………………………. 24 Contenido…………………………………………………………………. 24 Recomendaciones para el estudio del contenido de la Unidad……… 25 Diferencias Finitas……………………………………………………….... 26 Ecuaciones de diferencias finitas de primer orden……………………. 27 Ecuaciones de diferencia lineal de primer orden ……………………... 29 Sucesiones aritméticas y geométricas………………………………….. 30 Soluciones de las ecuaciones diferenciales de primer orden………... 31 Estabilidad…………………………………………………………………. 36 Ejercicios de autoevaluación…………………………………………….. 38 Respuestas a los ejercicios de autoevaluación……………………….. 38
Módulo II: Aplicación de Métodos Numéricos en Sistemas Continuos….. 41 Objetivo………………………………………………………………………….. 41 Estructura……………………………………………………………………...... 41 Unidad 3: Método Numérico de Euler para Resolución de Ecuaciones
Diferenciales……………………………………………………….. 42
Objetivo……………………………………………………………………. 42 Contenido…………………………………………………………………. 42 Recomendaciones para el estudio del contenido de la Unidad…….. 43
Método de Euler………………………………………………………….. 44 Ejercicios de autoevaluación……………………………………………. 48 Respuestas a ejercicios de autoevaluación…………………………… 48
Unidad 4: Método Numérico de Runge-Kutta para la Resolución de Ecuaciones Diferenciales…………………………………………
50
Simulación de Sistemas - 337
3
Objetivo……………………………………………………………………. 50 Contenido…………………………………………………………………. 50 Recomendaciones para el estudio del contenido de la Unidad ……. 51 Método de Runge-Kutta de Cuarto Orden……………………………… 52 Ejercicios de autoevaluación……….……………………………………. 56 Respuestas a ejercicios de autoevaluación…………………………… 56
Unidad 5: Método Numéricos de Varios Pasos para la Resolución de Ecuaciones Diferenciales
58
Objetivo…………………………………………………………………….. 58 Contenido…………………………………………………………………... 58 Recomendaciones para el estudio del contenido de la Unidad……… 59 Métodos Numéricos de Varios Pasos …………………………………. 60
Ejercicios de autoevaluación…………………………………………….. 64 Respuestas a Ejercicios de autoevaluación…………………………... 65
Módulo III: Simulación de Sistemas Estocásticos………………............... 73 Objetivo…………………………………………………………………………. 73 Estructura………………………………………………………………………. 73 Unidad 6: Introducción a la Simulación……………………………………. 74 Objetivo……………………………………………………………………. 74 Contenido…………………………………………………………………... 74 Recomendaciones para el estudio del contenido de la Unidad …...... 75
Modelo de Simulación………………………………………………….... 76 El Método de Monte Carlo……………………………….………………. 77 Métodos de Generación de números seudoaleatorios……………….. 83 Pruebas Estadísticas……………………………………………………... 86 Generación de Variables Aleatorias Discretas y Continuas…………. 86 Ejercicios de autoevaluación…………………………………………….. 100 Respuestas a Ejercicios de autoevaluación…………………………... 102
Unidad 7 Desarrollo del Modelo de Simulación………………………….. 107 Objetivo……………………………………………………………………. 107 Contenido………………………………………………………………….. 107 Recomendaciones para el estudio del contenido de la Unidad……… 108 Simulación Estocástica …………………………………………………... 110 Tipos de Simulación………………………………………………………. 111 Tipificación de Datos y Variables ……………………………………….. 115 Selección del Lenguaje de Simulación…………………………………. 124 Modelo de Simulación…………………………………………………….. 128 Validación………………………………………………………………….. 130
Ejercicios de autoevaluación……………………………………………. 131 Respuestas a Ejercicios de autoevaluación………………………….. 132
V.Bibliografía…………………………………………………………………….... 135 Selección de Lecturas 136
Simulación de Sistemas - 337
4
II. Introducción El presente material ha sido diseñado con el propósito de reforzar los conocimientos aprendidos a través del texto. Contiene aspectos fundamentales ilustrados con ejemplos que refuerzan los conocimientos, además de actividades complementarias como ejercicios de autoevaluación, ampliación de conocimientos y búsqueda en la Web. Al final de este material se adjunta una selección de lecturas de varios autores, relacionadas con la simulación estocástica, con el fin de apoyar en la consolidación de los conocimientos en este tema.
El contenido está organizado siguiendo la estructura del curso, de la siguiente manera: Módulo I Fundamentos de Modelos Matemáticos Módulo II Aplicación de Métodos Numéricos en Sistemas Continuos Módulo III Simulación de Sistemas Estocásticos
Para el buen uso de este material se sugiere tener a mano el Plan de Curso y el libro UNA, así como seguir fielmente las recomendaciones aquí expuestas.
Simulación de Sistemas - 337
5
Iconos empleados en el material instruccional
A lo largo de la lectura de este material encontrará diversos íconos, cuyo significado se explica a continuación. Ampliación de conocimientos: Está dirigido al estudiante que
desea profundizar más en sus conocimientos en determinado tema.
Atención: Se presenta cuando se quiere hacer una aclaratoria, una advertencia o una reflexión sobre algún aspecto del contenido.
Caso de estudio: Es la exposición de una situación muy similar a la realidad a la cual se le dará solución.
Consulta en la Web: Indica referencias a páginas Web
Consulta en otros libros: Se refiere a un llamado a consulta en libros que no figuran como textos de carácter obligatorio para el curso.
Ejercicios y actividades propuestas: son ejercicios o actividades sugeridas a manera de práctica sobre algún tema de la unidad.
Ejercicios de autoevaluación: Ejercicios que debe realizar el estudiante y posteriormente verificar contra los resultados aquí presentados.
Ejemplo: Es la exposición de un caso alusivo al tema en cuestión y su resolución.
Recordatorio: Indica algún aspecto a enfatizar, relacionado con los conocimientos adquiridos previamente por el estudiante.
Simulación de Sistemas - 337
6
III. Objetivo del Curso
Formular modelos de simulación de sistemas utilizando un enfoque lógico y
crítico.
IV. Contenido
MÓDULO I
Fundamentos de Modelos Matemáticos
En este primer módulo se desarrollará el concepto de modelo, su uso y en particular el problema de síntesis de modelos matemáticos y de sistemas dinámicos en función de variables de estado. También se abordará el tema sobre ecuaciones de diferencias finitas a partir de el cual se introduce el método numérico de representación de modelos. Objetivo del Módulo I:
Resolver problemas relacionados con el comportamiento de sistemas descritos en términos de ecuaciones de estado, bajo un enfoque lógico y crítico.
Estructura del Módulo I Unidad 1: Modelos Matemáticos.
Unidad 2: Ecuaciones de Diferencias Finitas.
Simulación de Sistemas - 337
7
UNIDAD 1
Modelos Matemáticos
Los modelos matemáticos son una descripción, desde el punto de vista de las matemáticas, de un hecho o fenómeno del mundo real. Con el contenido de esta primera Unidad se pretende que el estudiante adquiera conocimientos y técnicas básicas para la modelación de sistemas. Esta unidad se inicia con la definición de sistema, seguido de un marco teórico compuesto de: concepto de modelo, características deseables en los modelos, circunstancias en las que debemos modelar, limitaciones de los modelos y tipos de modelos. Donde se pretende obtener las técnicas para la descripción de los sistemas a través de los modelos. Seguidamente, como punto final, nos enfocaremos en los modelos matemáticos y las variables de estado, con el objeto de orientarnos hacia la formulación de los modelos matemáticos. Se sugiere leer las recomendaciones para el estudio del contenido de la unidad, y de esta forma obtener una mejor comprensión del mismo.
Objetivo de la Unidad 1
Resolver problemas inherentes a sistemas cuyo comportamiento se describe a través de ecuaciones de estado.
Contenido de la Unidad 1: Sistemas. Modelos. Tipos. Modelos matemáticos y variables de estado. Determinación de los estados de un sistema. Formulación del modelo matemático
Simulación de Sistemas - 337
8
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad.
• Repasar la teoría y conceptos sobre sistema y modelo. • Repasar la teoría sobre ecuaciones diferenciales. • Estudiar la Unidad 1 del libro. • Estudiar el Capítulo I titulado “Generalidades del Modelo” de la selección
de lecturas anexa. • Resolver los problemas propuestos y los ejercicios de autoevaluación del
libro. • Consultar otras fuentes bibliográficas.
Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿Qué es un sistema? • ¿Qué es un modelo? • ¿Cuáles son los tipos de modelos? • ¿Para qué sirve un modelo? • ¿Qué es un experimento?
Simulación de Sistemas - 337
9
Sistema
A continuación se mencionan algunos conceptos de sistema:
• Conjunto de elementos interrelacionados entre sí que actúan juntos para lograr un objetivo común
• Porción de la realidad que aislamos para “estudiarla”.
• Un sistema es una estructura dinámica de personas, objetos y
procedimientos organizados con el propósito de lograr ciertas funciones.
Una clase particular de los sistemas, son los sistemas dinámicos, los cuales son aquellos que evolucionan a lo largo del tiempo. Este cambio del sistema implica la existencia de variables del sistema que cambian en el tiempo. Algunas de estas variables pueden ser “observadas” desde su entorno, y a su vez, los cambios en las variables del sistema son producto de la influencia de cambios ejercidos por su entorno al sistema.
Esto da lugar a la propiedad de los sistemas (en particular de los sistemas dinámicos) de relacionarse con su entorno. La relación con el entorno recae naturalmente dentro de las siguientes dos categorías:
- Hay variables que son generadas por el entorno y pueden influir en el comportamiento del sistema. Éstas son llamadas entradas del sistema.
- Hay otras variables que son determinadas por el sistema y que a su vez influyen en el comportamiento de su entorno. Éstas son llamadas las salidas del sistema.
En general, debemos ser capaces de asignar valores al menos a algunas de las entradas del sistema, y observar el comportamiento del sistema mediante el registro de las salidas resultantes (ver Figura 1.1).
Entradas Salidas
Entorno
Figura 1.1. Representación de sistema y su entorno
Sistema
Simulación de Sistemas - 337
10
Otro concepto que se consideró importante es el siguiente: “un sistema es una fuente potencial de dato”. A partir de este concepto se genera la interrogante: ¿cómo se obtienen los datos? , éstos se obtienen a través de experimentos. Un experimento es el proceso de extracción de datos del sistema, influyendo sobre el sistema a través de cambios en sus entradas. También se puede mencionar que un experimento es la realización de ensayos sobre el sistema, en la observación de las reacciones del mismo, y en la obtención de leyes de su comportamiento, expresadas por lo general mediante lenguaje matemático. Algunos ejemplos de sistemas que podemos citar son los siguientes:
Sistema Social Sistema Nervioso Central Sistema Solar Sistema Económico Sistema Financiero Sistema Ecológico
Ejercicios y actividades propuestas: 1. Sobre la base de la teoría estudiada, realice una lista de al menos 5 sistemas
que se encuentren en su entorno (comunidad, trabajo, etc.) que usted pueda identificar.
El primer paso a dar para estudiar un sistema es elaborar un modelo.
Modelo
Al igual que sistema, podemos encontrar diferentes conceptos de modelo.
Aquí mencionamos algunos de ellos: • Representación en pequeño de alguna cosa. • Esquema teórico, generalmente en forma matemática, de un sistema o de
una realidad compleja, que se elabora para facilitar su comprensión y el estudio de su comportamiento.
• Un modelo es una idealización de la realidad utilizado para plantear un
problema, normalmente desde un punto de vista matemático. Es una
Simulación de Sistemas - 337
11
representación conceptual de un proceso o sistema, con el fin de analizar su naturaleza, desarrollar o comprobar hipótesis o supuestos y permitir una mejor comprensión del fenómeno real al cual el modelo representa.
Otro concepto que tomaremos en cuenta es el siguiente:
• Herramienta utilizada para responder preguntas respecto al sistema sin tener que experimentar de forma real (representación de la realidad).
A continuación un esquema que permite visualizar de donde se obtiene un
modelo:
Características deseables en los modelos:
Exacto (tiene pequeños errores). Realista (está basado en suposiciones correctas). Robusto (inmune a errores de entrada, buen desempeño). Generalizable. Útil.
Circunstancias en las que debemos modelar:
• El sistema real no existe. • La realización del sistema es costosa. • La experimentación (real) es peligrosa. • Existe necesidad de simular. • No hay soluciones analíticas.
PROCESO
SISTEMA
MODELO
Objeto formal no generalizado
Simplificación de la realidad que contiene una representación matemática de lo que existe en el sistema
Porción de la realidad que aislamos para estudiarla
Figura 1.2. Visualización de donde se obtiene un modelo
Simulación de Sistemas - 337
12
Limitaciones de los modelos: • Modelos complicados involucran muchas horas de trabajo • Se generan resultados sub-óptimos.
Tipos de Modelos: Existen tres tipos de modelos:
• Modelos Icónicos • Modelos Análogos • Modelos Simbólicos
Los Modelos Icónicos: son los modelos físicos que se asemejan al sistema real, generalmente manejados en otra escala. Por ejemplo: Los modelos de aviones que construyen los ingenieros y los modelos de ciudades que construyen los urbanistas. Los Modelos Análogos: son los modelos en los que una propiedad del sistema real se puede sustituir por una propiedad diferente que se comporta de manera similar. Ejemplo: El mapa de carreteras es un modelo análogo del terreno correspondiente, el velocímetro de un vehículo representa la velocidad mediante el desplazamiento análogo de una aguja sobre una escala graduada. Los Modelos Simbólicos: Son aquellos en los que se utiliza un conjunto de símbolos en lugar de una entidad física para representar la realidad. Por ejemplo, los físicos construyen modelos cuantitativos del universo y los economistas crean modelos cuantitativos de la economía. Por el hecho de que se utilizan variables cuantitativamente definidas e interrelacionadas por medio de ecuaciones, es frecuente que los modelos simbólicos sean conocidos como modelos matemáticos. La tabla que se presenta a continuación resume las características mas relevante de cada uno de estos modelos, así como algunos ejemplos.
Tipo de Modelo Características
Ejemplos
Modelo físico
Tangible Comprensión y posibilidad de compartirlo: difícil Modificación y manipulación: difícil Alcance de utilización: la más baja
Modelo de un aeroplano, modelado de una casa, modelo de una ciudad
Modelo análogo Intangible Comprensión: más difícil Duplicación y posibilidad de compartirlo: más fácil Modificación y manipulación: más fácil
Mapa de carreteras, velocímetro, gráfica de rebanadas de pastel
Simulación de Sistemas - 337
13
Alcance de su utilización. más amplio
Modelo simbólico
Intangible Comprensión: la más difícil Duplicación y posibilidad de compartirlo: las más fáciles Modificación y manipulación: las más fáciles Alcance de su utilización: el más amplio
Modelo de simulación, modelo algebraico, modelo de hoja de cálculo electrónica.
Tabla 1.1 Tipos de Modelos Los Modelos Simbólicos se clasifican a su vez en:
• Modelos determinísticos • Modelos estocásticos o probabilísticos • Modelos dinámicos • Modelos estáticos • Modelos continuos • Modelos discretos
En el Capítulo I “Generalidades del Modelado”, de la selección de lecturas anexa, encontrará los conceptos de cada uno de los tipos de modelos. A continuación se presentan algunos ejemplos de los Modelos Simbólicos:
Ejemplo 1.1. (Modelo Estocástico)
Cuando las variables tienen valores probables: la cantidad de lluvia que podrá caer el próximo año.
Ejemplo 1.2. (Modelos Estáticos )
Modelo Eléctrico (ley de ohm): v = R * i Modelo Mecánico (Resorte): F = k * x
Ejemplo 1.3. (Modelo Discreto)
Modelo de producción de piezas en una empresa metal-mecánica
Ejemplo 1.4. (Modelos Dinámicos)
Simulación de Sistemas - 337
14
Si se toma en cuenta la variación del tiempo: la variación de la temperatura, del aire durante un día.
Movimiento anual de las finanzas de una empresa. Laboratorio de química: reacción entre elementos
Cabe destacar que además de los modelos antes mencionados, existen otros modelos, los cuales son la combinación de dos o más modelos (modelos mixtos). Por ejemplo los modelos dinámicos discretos y los modelos dinámicos continuos, donde el tiempo puede ser una variable discreta o continua respectivamente. Estos últimos modelos, los modelos dinámicos, son de mayor interés en el estudio de esta unidad, por tal razón nos enfocaremos más en ellos. Una de las características principales de los modelos dinámicos, es el cambio que presentan las variables en función del tiempo. Donde:
Variables de entrada: son las variables del entorno que influyen sobre el comportamiento del sistema. Variables de salida: son las variables del sistema que son observadas o modifican el entorno. Perturbaciones: tienen inferencia sobre el sistema pero no pueden ser manipuladas. (Ejemplo: La lluvia). A continuación se expone lo que representa básicamente la estructura de un modelo dinámico. Estructura del Modelo El modelo se puede escribir de tal forma
E = f(xi, yi) (1.1)
MODELO Variables de
entrada Variables de
salida
Perturbaciones
Figura 1.3. Representación del modelo y su entorno
Simulación de Sistemas - 337
15
Donde: E: Es el efecto del comportamiento del sistema xi: Son las variables y parámetros que nosotros podemos controlar yi: Las variables y los parámetros que nosotros no podemos controlar f: Es la función con la cual relacionamos xi con yi con el fin de modificar o
dar origen a E Un modelo siempre es una simplificación de la realidad. Debe incorporar al modelo suficientes detalles para que: - El resultado satisfaga sus necesidades - Sea consistente con los datos que tiene usted a su alcance, y
- Pueda ser analizado en el tiempo con el que usted cuenta para ese propósito
Modelos Matemáticos Para efectuar el análisis de un sistema, es necesario obtener un modelo matemático que lo represente. El modelo matemático equivale a una ecuación matemática o un conjunto de ellas sobre la base de las cuales podemos conocer el comportamiento del sistema. Es necesario comentar que el modelo matemático que se desarrolla a partir de un sistema no es único, debido a lo cual se pueden lograr representaciones diferentes del mismo proceso. Estas diferentes representaciones no contradicen una a la otra. Ambas contienen información complementaria por lo que se debe encontrar aquella que proporcione la información de interés para cada problema en particular. Dentro de este contexto, por lo general se emplea la representación en "variables de estado" . Variables de Estado Son variables matemáticas auxiliares que permiten representar el comportamiento del sistema mediante ecuaciones. También suelen definirse las variables de estado como cualquier conjunto de variables que describa el comportamiento del sistema, siempre y cuando ese conjunto sea del menor tamaño posible. Cualquiera que sea la interpretación que se adopte debe tenerse presente que: Las variables de estado pueden tener o no sentido físico Las variables de estado pueden o no ser medibles
Simulación de Sistemas - 337
16
Para un mismo sistema dinámico las variables de estado no son únicas; de hecho, se pueden definir conjuntos de variables que sirvan como variable de estado.
Como se pudo observar en la figura1.1., la relación entre el sistema y su entorno, posee dos tipos de interacciones: la influencia del entorno al sistema, dada por las variables de entrada cada una de las cuales son funciones temporales (generalmente denominadas con la letra u); y cómo el sistema influye sobre su entorno, dada por las variables de salida, que también serán funciones temporales (y generalmente denominadas con la letra y). Los sistemas así representados con sus entradas y salidas se denominan tradicionalmente modelos de “caja negra”: Existe una relación causa-efecto entre las salidas y las entradas del sistema. Para calcular cualquiera de las salidas para todo tiempo t ≥ t0 debemos conocer las entradas para t ≥ t0, y también el efecto acumulado de cualquier entrada anterior. Un enfoque para construir un modelo matemático es encontrar ecuaciones que relacionen las salidas directamente a sus entradas mediante la eliminación de todas las variables que son internas al sistema. De esta manera, tal vez, estemos potencialmente borrando del modelo aspectos importantes del comportamiento del sistema Otra técnica de modelado es introducir un conjunto de variables de estado. los cuales generalmente difieren del conjunto de salidas, pero que pueden incluir una o varias de ellas. Las variables de estado deben ser elegidas de manera tal que el conocimiento de sus valores a cualquier tiempo de referencia t0 en conjunto con el conocimiento de las entradas para todo t ≥ t0 son suficientes para determinar las salidas y las variables de estado del sistema para todo t ≥ t0. Un requerimiento adicional sobre estas variables de estado es que las mismas deben ser independientes entre sí; esto es, no puede ser posible expresar una variable de estado como una función algebraica de las restantes. Esta representación es particularmente conveniente para trabajar con sistemas MIMO (multiple-input, multiple-output = sistemas de múltiples variables de entradas y múltiples variables
u1 u2
um :
entradas
y1
y2
yp
Sistema salidas
Figura 1.4. Representación en “caja negra” del sistema
Simulación de Sistemas - 337
17
de salida), y además para obtener soluciones a través del computador. La figura siguiente representa al sistema incluyendo las variables de estado denominadas x1(t), x2(t), ... xn(t). Formulación de un modelo matemático El modelo matemático está constituido por relaciones matemáticas (ecuaciones y desigualdades) establecidas en términos de variables, que representan la esencia del problema que se pretende solucionar. Veamos algunos ejemplos sencillos que nos permitirá ilustrar la formulación de un modela matemático.
Ejemplo 1.5. (Modelo Matemático) Si se encuentra usted actualmente durante las horas de la mañana en Caracas, Dtto Capital, y desea estar en Maracaibo, Edo. Zulia, a la hora de la cena, tal vez le interese estimar el tiempo que tendrá que viajar en su automóvil desde Caracas hasta Maracaibo. Para eso podría consultar la distancia en kilómetros en un mapa o por Internet, la cual dividiría después entre su velocidad promedio típica. En este caso, su modelo sería:
donde T= tiempo, D= distancia, y S=velocidad Sin duda este modelo es útil. No obstante, advierte que es una simplificación de la realidad. Por que se han pasado por alto muchos factores que podrían influir en la duración de su viaje. No se ha molestado usted en incluir retrasos por posibles reparaciones en el camino, las condiciones del tiempo, escalas para abastecerse de gasolina o para ir al sanitario, y así sucesivamente. Sin embargo, si planea salir a
u1 u2
um :
entradas
x1
x2
xn
:
y1
y2
yp
Sistema salidas
Figura 1.5. Representación general del sistema mostrando
T = D / S (1.2)
Simulación de Sistemas - 337
18
las 9 a.m. y T= 8 horas, entonces el modelo es bastante bueno para sus propósitos. Es decir, podrá sentirse seguro que llegará a Maracaibo a tiempo para la cena. Sin embargo, supongamos que usted no podrá salir sino hasta el mediodía y tiene una reservación en un restaurante de lujo para reunirse con una persona muy importante a las 07:30 p.m. En ese caso podría considerar que este modelo es demasiado simple y sentiría más confianza si lo refinara un poco para incluir otros detalles que lo acercaran más a la realidad. Por ejemplo, podría añadir una expresión que representara sus escalas a lo largo del camino. Entonces el modelo sería: donde R es el tiempo promedio que permanecen en cada escala de su viaje, y N es el número de veces que piensa detenerse. Usted puede seguir mejorando su modelo si le incorpora más factores. Algunos de esos factores podrían ser estimaciones o aproximaciones.
Ejemplo 1.5. (Modelo Matemático Lotka- Volterra) Modelo matemático Lotka-Volterra. El siguiente ejemplo está enmarcado en el modelo del matemático italiano Volterra, interesado por la ecología matemática y creador de la teoría determinista sistematizada de la dinámica de poblaciones.
• Oscilaciones en las relaciones presa-depredador de Volterra. Para iniciar su investigación matemática estableció ciertas premisas:
Que la especie depredadora se alimentaba exclusivamente de la especie presa, mientras que ésta se alimentaba de un recurso que se encontraba en el hábitat en grandes cantidades.
Que ambas poblaciones eran homogéneas, es decir, no intervenían factores como la edad o el sexo.
Que, así mismo, el medio era homogéneo, es decir, que las características físicas, biológicas entre otras, eran las mismas en el hábitat.
Y que los encuentros de la especie depredadora con las especie presa eran igualmente probables.
Siendo así, se encontró con que solo existían dos variables: el tamaño poblacional de la especie depredadora y el de la especie presa. Así mismo, supuso que ambos
T= D/S + (R*N) (1.3)
Simulación de Sistemas - 337
19
tamaños poblacionales dependían exclusivamente del tiempo y no de alguna otra variable especial. Determinó que si no existiesen depredadores, la población de presas crecería malthusianamente , es decir:
)()( taxtx =& mientras que si no hubiese presas, la especie depredadora decrecería, también siguiendo un modelo malthusiano, es decir:
)()( tcyty −=&
Ahora bien, dado que la interacción beneficia a la especie depredadora y perjudica a la presa, él supuso que seria necesario modificar a los depredadores en un término que diera cuenta del perjuicio para una y del beneficio para la otra, lo que tendría que ser lo siguiente:
−= )()( taxtx& [término de interacción]
+−= )()( tcyty& [término de interacción] Luego, Volterra se enfrenta al problema de encontrar una forma analítica para cada termino que aparece entre corchetes y, basándose en el siguiente argumento: mientras más encuentros por unidad de tiempo haya entre individuos de la especie presa con la especie depredadora, mayor ha de ser el perjuicio de unos y el beneficio de otros; bajo este argumento, Volterra llegó a la conclusión de que el numero de encuentros por unidad de tiempo entre presas y depredadores, es proporcional al producto algebraico de sus respectivas densidades poblacionales, incorporándose esto en las dos ecuaciones anteriores:
)()()()( tytbxtaxtx −=&
)()()()( tytdxtcyty +−=& [Número de encuentros por u. de t.] x(t)y(t)
donde a es la tasa instantánea de aumento de presas en ausencia de depredadores; mientras que c es la tasa instantánea per capita de disminución de depredadores en el caso de ausencia de presas. Originalmente Volterra interpreto esto diciendo que:
(1.4)
(1.5)
(1.6)
(1.7)
(1.8)
(1.9)
Simulación de Sistemas - 337
20
Los parámetros constantes a y c representan la razón de nacimiento y muerte de las dos especies; mientras que b mide la susceptibilidad de la especie presa a la depredación y d mide la habilidad de depredación de esta especie. Las constantes b y d son la proporción de encuentros perjudiciales para las presas y la correspondiente de encuentros benéficos para los depredadores, respectivamente. Y así logró afirmar que en una interacción presa-depredador descrita en las ecuaciones anteriores, el tamaño de la especie presa y el de la especie depredadora, cambian periódicamente al aumentar el tiempo. Usted puede continuar modificando este modelo si le incorpora más factores. Algunos de esos factores podrían ser estimaciones o aproximaciones.
Ejercicios y actividades propuestas: 1. Sobre la base de la teoría estudiada, identifique y describa un sistema que se
pueda representar a través de un modelo estocástico. 2. Sobre la base de la teoría estudiada, identifique y describa un sistema que se
pueda representar a través de un modelo determinístico. 3. Un modelo económico puede ser incluido dentro de los modelos dinámicos,
basándose en esta afirmación, dado el sistema del Producto Interno Bruto (PIB) de un país, formule el un modelo, tomando en consideración las siguientes variables:
y(t) = PIB en el año t c(t) = Consumo total en el año t i(t) = Inversiones totales en el año t g(t) = Gastos del Gobierno en el año t
Ejercicios de Autoevaluación: 1. Considere un circuito RLC simple como se muestra en la siguiente figura:
Simulación de Sistemas - 337
21
Tomando en cuenta que, por regla general, el número de variables de estado es igual al número de almacenadores de energía del sistema, en circuitos eléctricos estos son la cantidad de inductores o capacitores que tiene el circuito. Describa para este sistema un modelo representado por variables de estado. 2. El Modelo de Richardson, que toma el nombre del meteorólogo británico que lo generó, tiene su nacimiento en la explicación de la carrera de armamentos, y consiste en un modelo dinámico. El modelo parte de los siguientes factores:
a. La nación X se siente amenazada por las armas de su adversario, la nación Y, por lo tanto, sigue de cerca la evolución armamentística de éste.
b. Cuanto mayor sea el número de armas que posee Y, mayor será el número de armas que X querrá conseguir.
c. Ahora bien, la nación X también tiene que dedicar su presupuesto a las necesidades sociales básicas.
d. Cuanto mayor sea el gasto en armas de X, menos armas suplementarias podrá adquirir, ya que no puede extender indefinidamente los gastos en esta partida.
e. La misma lógica que es aplicable a la nación X es aplicable a la nación Y.
Los elementos del modelo de Richardson, se visualizan en la siguiente tabla (tabla 1.2).
Figura 1.6. Circuito RLC
Simulación de Sistemas - 337
22
Elementos
Nación X Nación Y
Cantidad de armamentos en el momento t+1
Xt+1 Yt+1
Amenaza
kYt mXt
Gastos
aXt bYt
Los agravios anteriores o previos
g h
Tabla 1.2. Elementos del Modelo de Richardson Las variables Xt e Yt son los valores de la cantidad de armamento en el tiempo t, y Xt+1 e Yt+1 son los valores para el momento t+1. Las constantes (k, m, a, b, g, h) son coeficientes, pudiendo ser positivos y negativos g y h, mientras que el resto sólo positivos. Basado en lo anterior formule el modelo matemático del sistema.
Respuestas a los Ejercicios de Autoevaluación: 1. La elección común de variables de estado en estos casos son la tensión en el
capacitor: vc y la corriente eléctrica a través del inductor i2. Entonces, sea
x1 = vc, x2 = i2, u = u(t), y1 = i1, e y2 = i2.
Las ecuaciones necesarias para los estados pueden ser obtenidas mediante las leyes de Kirchhoff:
cviRu +⋅= 1
21 iivC c −=⋅•
dtdi
Lvc2⋅=
Luego, eliminando i1 de las dos primeras ecuaciones, y utilizando los nombres de las definiciones de variables de entrada, salida y de estados, obtenemos:
u
CRx
Cx
CRx ⋅
⋅+⋅−⋅
⋅−=
• 111211
Simulación de Sistemas - 337
23
12
1 xL
x ⋅=•
Quedando las ecuaciones de salida definidas como:
11111 xR
uR
iy ⋅−⋅==
222 xiy == 2. La representación del modelo de Richardson, en términos matemáticos, se
puede exponer a través de las siguientes ecuaciones:
Xt+1=kYt - aXt + g Yt+1=mXt - bYt + h
Simulación de Sistemas - 337
24
UNIDAD 2
Ecuaciones de Diferencias Finitas
Con está unidad se pretende exponer en forma sencilla y didáctica el cuerpo teórico que rodea la formulación, resolución y aplicación de las ecuaciones de diferencias finitas. La solución de ecuaciones de diferencias tiene incidencia en la solución de ecuaciones diferenciales, específicamente en los métodos numéricos aplicados a la resolución de las mismas. Se sugiere leer las recomendaciones para el estudio del contenido de la unidad, y de esta forma obtener una mejor comprensión del mismo.
Objetivo de la Unidad 2
Resolver problemas de ecuaciones de estado en diferencias finitas
Contenido de la Unidad 2: Ecuaciones de diferencias finitas. Solución de ecuaciones de diferencias finitas. Funciones forzantes constantes. Estabilidad de ecuaciones de diferencias finitas.
Simulación de Sistemas - 337
25
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad.
• Repasar la teoría sobre ecuaciones diferenciales. • Estudiar la Unidad 2 del libro. • Resolver los problemas propuestos y los ejercicios de autoevaluación del
libro. • Consultar otras fuentes bibliográficas.
Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿Qué es una diferencia finita?
• ¿Qué es una ecuación de diferencias?
• ¿Cuál es el uso de una ecuación de diferencias?
• ¿En qué ámbito se pueden usar las ecuaciones de diferencias?
• ¿A que se refiere la estabilidad de un sistema?
Simulación de Sistemas - 337
26
En esta unidad se tratarán los siguientes puntos: Diferencias finitas, ecuaciones de diferencias finitas de primer orden, las ecuaciones de diferencia lineal de primer orden. Se expondrá un repaso de las sucesiones aritméticas y geométricas, para luego presentar las soluciones de la ecuación de diferencia de primer orden, y por ultimo la estabilidad. Por cada uno de los puntos discutidos en esta unidad, se expondrá un ejemplo que ayude a comprender mejor el tema tratado. Al final de la unidad encontrará los ejercicios y actividades propuestas, así como la sección de autoevaluación. Diferencias finitas Sea y=f(t) una función para valores enteros no negativos de t, o sea para t=0,1,2,3,..., Se llama primera diferencia, o diferencia finita de primer grado de y=f(x), a la expresión dada por
)()1()( tftftf −+=∆ donde f(t) representa el valor de la función f en el punto t y f(t+1) el valor de la función f en el punto t+1. Con frecuencia se utilizan otras notaciones como:
yt o ft en lugar de f(t) y yt+1 o ft+1 en vez de f(t+1) La interpretación gráfica que tiene la primera diferencia de una función y=f(t), se aprecia en la figura 2.1.
(2.1)
f(t)
f(t+1)
(t+1) t
∆(t+1)
y=f(t)
Figura 2.1 Representación gráfica de ∆f(t)
Simulación de Sistemas - 337
27
De esta manera, ∆f(t) corresponde al incremento que sufre y=f(t) cuando la variable t se incrementa en una unidad. Seguidamente se presentan dos ejemplos que ilustran este punto.
Ejemplo 2.1. Si y = f(t) = 4t2 - 6, hallar la diferencia de primer orden. Solución Como yt = f(t) = 4t2 - 6, entonces yt+1 = f(t+1) = 4(t+1)2 - 6 = 4t2 + 8t - 2 Como puede observar del resultado del ejemplo anterior, ∆f(t) es una función que depende de nuevo de la variable t ; por tanto, puede hablarse de la primera diferencia de ∆f(t). La segunda diferencia de f(t) se denota por ∆2f(t), y así sucesivamente.
Ejemplo 2.2. Sea la sucesión xn = 3n2 + 5n + 2, hallar su diferencia finita Solución Se tiene :
∆xn = xn+1 - xn = {3(n+1)2 + 5(n+1) + 2} – {3n2 + 5n + 2} por lo tanto ∆xn = 6n + 8 Ecuaciones de diferencias finitas de primer orden Una ecuación que relacione los valores de una función y = f(t) con una o varias de sus diferencias finitas, se llama ecuación en diferencias finitas en f(t). En adelante las llamaremos simplemente ecuaciones de diferencia. El orden de estas ecuaciones está determinado por la diferencia de mayor grado que se encuentre en la ecuación. Por ejemplo, son ecuaciones de diferencia de primer orden: a) yt+1 + 3yt = 0
Simulación de Sistemas - 337
28
b) yt+1 = 2y + 5t c) yt+1- yt = 8 d) yt+1-3yt+1 = 2t Una función yt = f(t) es una solución de la ecuación de diferencia finita, si está definida para valores enteros no negativos y satisface la ecuación dada. A continuación se presenta un ejemplo, donde se comprueba si una función yt es una solución de una ecuación de diferencia.
Ejemplo 2.3.
Comprobar que la función 2
)1()( +==
tttfyt es una solución de la ecuación de
diferencia tyy tt =−+1 para t = 0, 1, 2, 3... Solución A partir de la función yt dada obtenemos:
[ ]2
)1(2
1)1()1( ttttyt+
=−++
=
Reemplazando los valores de yt y yt+1 en la ecuación, tenemos:
tttttttttttttt==
+−+=
−−+=
+−
+22
22)1()1(
2)1(
2)1( 22
o sea que la función yt = f(t) cumple la ecuación de diferencia. Existen dos clases de soluciones para una ecuación de diferencia finita: general y particular. Se llama solución general aquella función que al tener una o varias constantes arbitrarias está definida para valores enteros no negativos y satisface la ecuación dada. Se llama solución particular aquella función que al no tener constantes arbitrarias está definida para valores enteros no negativos y satisface la ecuación dada. Una solución de una ecuación de diferencias es una sucesión de valores para los cuales se satisface la ecuación. Ecuación de diferencia lineal de primer orden
Simulación de Sistemas - 337
29
Se llama ecuación de diferencia lineal de primer orden con coeficiente constante en yt a toda expresión de la forma:
donde a1 y a0 son constantes, y g(t) es una función que depende de t siendo t = 0,1,2,3,... Debe tenerse en cuenta que una función polinomial es toda expresión que tenga la
forma:
g(t) = Cn tn +Cn-1 tn-1+...+C1 t+C0 donde Cn, Cn+1,…,C1,C0 son constantes y n es un entero no negativo.
A continuación se presenta un ejemplo sencillo de cómo plantear una ecuación de diferencia, a partir del enunciado del problema.
Ejemplo 2.3. Una compañía recibe un ingreso mensualmente que cumple la siguiente condición: el ingreso recibido en un mes cualquiera es igual a las tres cuartas partes del ingreso recibido en el mes inmediatamente anterior, aumentando en U.M. 2.000, donde U.M. denota Unidades Monetarias. Plantear una ecuación de diferencia que relaciones los ingresos de dos meses consecutivos. Solución En este caso el ingreso depende del tiempo. Sea Yt el ingreso recibido al final del mes t, entonces yt+1 será el ingreso recibido al final del mes siguiente, es decir, en el mes t+1, como se observa en la figura siguiente:
a1 yt+1 +a0 yt = g(t) (2.2)
• •
yt yt+1
t t+1
Figura 2.2
Simulación de Sistemas - 337
30
Según la condición dada en el problema, tenemos:
yt+1 = 3/4 yt + 2.000
Y esta es la ecuación de diferencia que, según el enunciado del problema, relaciona los ingresos de los meses consecutivos t y t+1. Antes de continuar con las soluciones de ecuaciones de diferencias de primer orden, se consideró importante repasar los conceptos de sucesiones aritméticas y geométricas, los cuales se exponen a continuación Sucesiones aritméticas y geométricas Una sucesión se llama progresión aritmética si un término cualquiera es igual al anterior más una constante, llamada diferencia de la progresión. En símbolos: 0,1 ≥∀+=+ ndxx nn Una sucesión se llama progresión geométrica si un término cualquiera es igual al anterior multiplicado por una constante llamada razón. En símbolos: 01 ≥∀=+ nrxx nn En forma recurrente, podemos expresar a un cierto término de una sucesión aritmética o geométrica en función del primer término x0 = C. En efecto, se considera primero una sucesión aritmética:
x1 = x0 + b x2 = x1+b=x0+2b x3 = x2+b= x0 +3b … …………..
En forma análoga para una sucesión geométrica resulta:
x1 = ax0 x2 = ax1 =a2x0 x3 = ax2 =a3x0
Para el (n+1) –ésimo término se tiene: xn = an x0
Simulación de Sistemas - 337
31
Luego las sucesiones pueden expresarse para un término arbitrario en función del primero según la siguiente notación, donde C es el término inicial x0 :
Sucesión aritmética: {C + bn} Sucesión geométrica: {C an}
Así los términos xn de estos tipos de sucesiones son soluciones de dos ecuaciones de diferencias muy particulares, donde la diferencia y la razón de las progresiones se representarán por a y b, respectivamente.
Ecuaciones de Diferencias Solución xn+1 = xn + b, n = 0,1,2,... sucesión aritmética xn+1 = axn , n = 0,1,2,...; a ≠ 0 sucesión geométrica
La solución general de la ecuación de diferencias lineal de primer orden, homogénea con coeficiente constante xn+1 - axn = 0, n = 0,1,2,..., está dada por xn= C. an donde a y C son constantes, con a ≠ 0. La solución general de la ecuación en diferencias lineal de primer orden, con coeficiente constante xn+1 – xn = b , n = 0,1,2,... está dada por xn = C +bn, donde b y C son constantes. Si b = 0, la sucesión solución es constante. Seguidamente se expone el punto de las soluciones de diferencias de primer orden. Soluciones de la ecuación de diferencia de primer orden Para hallar la solución de la ecuación de diferencia de primer orden dada en la expresión (2.2), se debe tener en cuenta dos casos respecto a la función g(t): i) Cuando g(t) sea constante ii) Cuando g(t) sea variable Para cada uno de estos casos se utilizan métodos diferentes que originan soluciones diferentes. Caso i Sea g(t) = k = constante. Entonces, la ecuación (2.2) se convierte en
Simulación de Sistemas - 337
32
a1 yt+1 + a0 yt = k La cual puede llevarse a la forma yt+1 = Ayt + B donde
11
0
akBy
aa
A =−
=
Para hallar una solución particular de la ecuación (2.3) es preciso conocer y0, o un valor yk, para k = 0. Si conocemos y0, el problema se reduce a resolver la ecuación
yt+1 = Ayt + B, dado y0
Entonces, la ecuación (2.3) va tomando las formas siguientes según el valor de t Para t = 0, y1 = Ay0 + B Para t = 1, y2 = Ay1 + B = A2y0 + B(1 + A) Para t = 2, y3 = Ay2 + B = A3y0 + B(1 + A + A2) Para t = cualquiera, yt = Aty0 + B(1 + A + A2 + k + At-1)
1,11
0 ≠⎥⎦
⎤⎢⎣
⎡−−
+= AsiAAByA
tt
Pero si A=1, se obtiene que yt= y0 + Bt En resumen, la solución particular de la ecuación (2.3), conociendo el valor de y0, está dada por:
1,11
0 ≠⎥⎦
⎤⎢⎣
⎡−−
+ AsiAAByA
tt
1,0 =+ AsiBty
yt =
(2.3)
(2.4)
Simulación de Sistemas - 337
33
Si conocemos el valor de yk para k=0, entonces basta considerar y0 =C, donde C es una constante arbitraria. Siguiendo el mismo procedimiento anterior, se llega a la solución general:
1,11
≠⎥⎦
⎤⎢⎣
⎡−−
+ AsiAABCA
tt
1,0 =+ AsiBty En la expresión (2.5), al remplazar t por k, y yk por su valor, se halla el valor de C, el cual al sustituirlo en la expresión (2.5), nos da la solución particular correspondiente. A continuación un ejemplo donde se ilustra el caso (i).
Ejemplo 2.4 Resolver la ecuación de diferencia yt+1 – 3yt = 2, si y2 = 17 Solución La ecuación se puede escribir como yt+1 – 3yt = 2 en la cual A = 3 y B = 2; como A ≠ 1, aplicando la parte correspondiente de la formula (2.5) y se tiene:
[ ] [ ] 113313313123 −+=−−=⎥⎦
⎤⎢⎣
⎡−−
+= CCCy tttt
tt
donde C es una constante arbitraria. Su valor puede calcularse mediante la condición y2 = 17; sustituyendo t por 2 en la solución anterior y y2 por 17 llegamos a: 17 = y2 = 32 [C + 1] – 1 o sea, 18 = 9[C + 1]; y de aquí se obtiene que C = 1. Remplazando este valor de C, en la solución anterior, se obtiene: yt = 2(3)t – 1 y esta es la solución de la ecuación del problema, según la condición dada.
yt =
(2.5)
Simulación de Sistemas - 337
34
Caso ii Cuando g(t) sea variable, se consideran solamente las dos situaciones siguientes
a) g(t) una función polinomial b) g(t) una función exponencial.
Para ambas situaciones, la solución general de la ecuación (2.2) tiene la forma siguiente:
yt = yh(t) + yp(t) donde yh(t) representa la ecuación general de la ecuación homogénea asociada a la ecuación (2.2) es decir, la solución de la siguiente ecuación: a1yt+1 + a0yt = 0 puede hallarse aplicando el método visto en el caso (i) y más exactamente utilizando la solución dada en la formula (2.5), así no se conozca el valor de yo. La función yp(t) representa una solución particular de la ecuación (2.2). Esta solución particular será de la misma clase de la función g(t). Es decir, si g(t) es un polinomio, entonces yp(t) también será un polinomio y del mismo grado de g(t), y si g(t) es una función exponencial, entonces yp(t) también será una función exponencial, en la mismo base de g(t). Esta solución particular no debe tener constantes arbitrarias y para hallar esta función se utiliza el método de los coeficientes indeterminados. La solución yt debe contener una constante arbitraria en la parte correspondiente a la solución yh(t), y esta constante quedará determinada si conocemos y0 ó yk , por su correspondiente valor, solamente debe hacerse una vez estén sumadas las dos soluciones, es decir, una vez se tenga la expresión (2.6). A continuación un ejemplo cuando la función g(t) es un polinomio
Ejemplo 2.5 Hallar la solución para la siguiente ecuación de diferencias:
2yt+1 – 3y = 4t2 + 1, si y0 = 5 Solución Primero se halla la ecuación homogénea asociada a la ecuación del problema; esta ecuación es:
2yt+1 – 3y = 0 A partir de esta ecuación, se obtiene su solución que es yh(t). Utilizando la fórmula (2.5) del caso (i), se llega a:
Simulación de Sistemas - 337
35
yh(t) = (3/2)t C donde C es una constante arbitraria. En segundo lugar, se debe hallar la solución yp(t). En este caso la función g(t) = 4t2 + 1 es un polinomio de segundo grado, por lo tanto yp(t) también será un polinomio de segundo grado en la variable t y tendrá la forma:
yp(t) = at2 + bt + c donde a, b y c son constantes. Éstas se determinan hallando yp(t+1), de la siguiente manera:
yp(t+1) = a(t+1)2 + b(t+1) + c y remplazando en el problema original yt por yp(t) y yt+1 por yp(t+1) se obtiene:
2[a(t+1)2 + b(t+1) + c] – 3[at2 + bt + c] = 4t2 +1 O sea: (-a)t2 +(4a - b)t + (2a + 2b – c) = 4t2 + 1 Igualando los coeficientes de las respectivas potencias de t, se tiene:
- a = 4 4a – b = 0
2a + 2b – c = 1 Resolviendo este sistema de ecuaciones lineales, se obtiene:
a = -4, b = -16, c = -41 De tal manera que la solución particular es:
yp(t) = -4t2 – 16t - 41 y aplicando la expresión (2.6) se tiene que la solución general es:
yt = (3/2)t C – 4t2 – 16t -41
Como el problema tiene una condición inicial que es y0 = 5, entonces sustituyendo t por 0 y y0 por 5, en la solución general, se tiene: 5 = y0 = (3/2)0 C – 4(0)2 – 16(0) – 41 De donde C = 46
Simulación de Sistemas - 337
36
Remplazando C en la solución general se obtiene la solución del problema original:
yt = 46(3/2)t – 4t2 – 16t – 41 Estabilidad Un sistema es estable si a pequeñas distorsiones responde haciendo pequeñas incursiones alrededor del espacio de equilibrio. Suponga que se tiene una ecuación de diferencias cuya respuesta es dada por
nkk
nnn BCBCBCy +++= ...2211
En donde todas las raíces son diferentes. Entonces note que si 1≤iB para
cualquier ),...,2,1(1 ki∈ entonces la respuesta homogénea del sistema no crece sin control cuando ∞→n . Si el valor absoluto de las raíces es menor que 1, entonces la respuesta homogénea del sistema decae a cero en el estado continuo, en el estado transitorio desaparece y sólo permanece la solución particular. Cuando esto sucede decimos que el sistema representado por la ecuación de diferencias es estable.
Ejemplo 2.6 Determine la solución de la siguiente ecuación de diferencias e indique si es estable o inestable.
yn+2 - 7yn+1 + 10yn = 12(4)n Solución Se asume que se tiene un sistema representado por la siguiente ecuación
yn+2 - 7yn+1 + 10yn = 12(4)n de lo que se obtiene
Bn(B2 – 7B + 10) = 0 y los valores de de B son los siguientes:
Simulación de Sistemas - 337
37
B1 = 2, B2 = 5 Se obtine la solución homogénea
nnhk CCy )5()2( 21 +=
Se obtiene la solución particular
npk Cy )4(3=
Se obtiene el valor de la constante C
nnnC )4(12)10)4(74()4(3 =+−
63 −=C Solución general
nnnn CCy )4(6)5()2( 21 −+=
Como se puede observar los valores de Bi nos permiten concluir que el sistema es inestable, debido a que para ser estable 1≤iB para todo i = {1,2...k}.
Ejercicios y actividades propuestas: 1. Hallar la solución de las siguientes ecuaciones de diferencias: a) xn+1– 5xn =0 b) xn+1 + 3xn = 0 c) 4xn+1– 5xn = 0 2. Resolver la ecuación 3yt+1 – 6yt = 1, sabiendo que y0 = 2/3 3. El saldo en una cuenta de ahorros al final de cualquier mes es igual al saldo del
mes inmediatamente anterior más una cantidad constante. Escriba una ecuación de diferencia representativa de la situación anterior.
4. Hallar la solución de la siguiente ecuación de diferencia de la siguiente ecuación
xn+2 -7xn+1 +10xn=5n 5. Hallar la solución de la siguiente ecuación de diferencia según la condición dada:
Simulación de Sistemas - 337
38
yt+1 - 3yt = 12(3)t, si y0 = 2
Ejercicios de Autoevaluación: 1. Resolver la ecuación en diferencia
xn+1-2xn = 3n+1
2. Hallar la solución a la siguiente ecuación de diferencia de diferencia según la condición dada:
yn+1 - 3yn = 5 ; y0 = 0 3. Hallar la solución a la siguiente ecuación de diferencia de diferencia según la
condición dada: yt+1 – yt = 2t - 3, si y0 = 4
Respuestas a los Ejercicios de Autoevaluación: 1. Solución La sucesión solución xn se expresa como la suma de la ecuación homogénea asociada, xn+1 -2xn = 0, cuya solución es nh
n Cx 2= , más la solución particular pnx que
se sugiere mediante el método de los coeficientes indeterminados como un polinomio lineal 21 knkx p
n += , según el segundo miembro de la ecuación. Entonces
)(2)1(2 21211 knkknkxx pn
pn +−++=−+
21211 22 knkkknk −−++= 211 kknk −+= Comparando el coeficiente de n y el término independiente de esta expresión con los correspondientes de 3n+1, se tiene -k1 = 3 k1 – k2 = 1
Simulación de Sistemas - 337
39
Con lo cual se tiene k1 = -3 y k2 = -4. Por lo tanto 43 −−= nx p
n es solución particular. Una solución general es xn = C2n – 3n – 4 2. Solución Suponga que quiere obtener una solución a la siguiente ecuación:
yn+1 - 3yn = 5 ; y0 = 0 se obtiene primero la solución homogénea
Bn+1 – 3Bn = 0
Bn (B – 3) = 0 lo que implica que B = 3. La solución homogénea es entonces
nhn Cy )3(=
luego se encuentra la solución particular
25
315
−=−
=pny
añadiendo la solución homogénea y particular se obtiene la solución general
25)3( −= n
n Cy
para encontrar el valor de C se utiliza la condición inicial
25)3(0 0 −=C
Lo que implica que la solución general es:
( )1)3(25
25)3(
25
−=−= nnny
3. Solución
La solución de la homogénea es yh(t) = C
Simulación de Sistemas - 337
40
La solución particular debe tener la forma siguiente:
yp(t) = t(at+b) El lector debe comprobar por qué la solución no puede ser de la forma:
yp(t) = at+b
A partir de la solución particular, tenemos:
yp(t+1) =(t+1)[a(t+1)+b] Sustituyendo estas funciones en la ecuación original, llegamos a:
2at + (a+b) = 2t – 3 Igualando coeficientes tenemos que a = 1, b = - 4 y así la solución particular es:
yp(t) = t(t-4) y la solución general será:
yt = C + t(2t -5)
con la condición inicial de y0 = 4, se obtiene que C=4, y, por tanto, la solución al problema es:
yt = 4 + t(t-4)
MODULO II
Simulación de Sistemas - 337
41
Aplicación de Métodos Numéricos en Sistemas Continuos En este módulo se prosigue con la búsqueda de la solución de modelos matemáticos basados en ecuaciones de estado, específicamente se trata de ecuaciones diferenciales ordinarias, con valores iniciales. Se presentan tres tipos de métodos numéricos iterativos y programables como son: el método de Euler, método de Runge Kutta y los métodos de varios pasos. Estos métodos son fáciles de implementar a través de lenguajes de programación de propósito general y de hojas de cálculo. Por otra parte existen paquetes de software como el Maple™ y MatLab™, que contemplan funciones elaboradas para implementar dichos métodos. Objetivos del Módulo II Resolver numéricamente modelos matemáticos empleando los métodos: Euler, Runge-Kutta y Varios Pasos.
Estructura del Módulo II Unidad 3: Método Numérico de Euler para la resolución de Ecuaciones
Diferenciales Unidad 4: Método Numérico de Runge-Kutta para la resolución de Ecuaciones
Diferenciales Unidad 5: Métodos Numéricos de Varios Pasos para la resolución de Ecuaciones
Diferenciales
Simulación de Sistemas - 337
42
UNIDAD 3
Método Numérico de Euler para la Resolución de
Ecuaciones Diferenciales
Con esta unidad se pretende exponer en forma sencilla y didáctica, el objetivo de uno de los métodos numéricos más sencillo como es el método de Euler. Para ello se presentarán ejemplos donde se muestra su uso en la obtención de aproximaciones soluciones de ecuaciones diferenciales ordinarias de primer orden. Se sugiere leer las recomendaciones para el estudio del contenido de la unidad, y de esta forma obtener una mejor comprensión del mismo.
Objetivo de la Unidad 3
Resolver numéricamente un modelo matemático descrito en términos de ecuaciones de estado, empleando el Método de Euler.
Contenido de la Unidad 3: Método de Euler
Simulación de Sistemas - 337
43
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad
• Repasar la teoría sobre ecuaciones diferenciales. • Estudiar la Unidad 4 del libro.
• Resolver los problemas propuestos y los ejercicios de autoevaluación del
libro.
• Consultar otras fuentes bibliográficas. Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿En que consiste el método de Euler?
• ¿Cuál es la utilidad del método de Euler?
• ¿Cómo se calcula el error de truncamiento local?
Simulación de Sistemas - 337
44
Se inicia está unidad, citando brevemente como recordatorio, el concepto de ecuación diferencial y sus tipos, para luego continuar con el contenido propio de la unidad que es la explicación del método de Euler. Por cada uno de los puntos discutidos en esta unidad, se expondrá un ejemplo que ayude a comprender mejor el tema tratado. Al final de la unidad encontrará los ejercicios y actividades propuestas, así como la sección de autoevaluación. Si una ecuación contiene las derivadas o diferenciales de una o más variables independientes con respecto a una o más variables independientes, se dice que es una ecuación diferencial. Si una ecuación contiene sólo derivadas ordinarias de una o más variables dependientes con respecto a una sola variable independiente, se dice que es una ecuación diferencial ordinaria. Una ecuación que contiene las derivadas parciales de una o más variables dependientes con respecto a dos o más variables independientes se llama ecuación diferencial parcial. Zill Denis, Ecuaciones Diferenciales Con Aplicaciones. Ed. Wadsworth Internacional/Iberoamérica, 1982, California EEUU. Método de Euler Existen escasos tipos de ecuaciones diferenciales resolubles de primer orden, y se ha comprobado que las técnicas de dibujo aproximado fallan si la expresión de la ecuación no es especialmente sencilla. Pero aunque la f(t,y) sea complicada siempre se podrá acudir a los métodos numéricos (iterativos y fácilmente programables), uno de ellos el método de Euler, el cual se explica a continuación a partir de un problema de valores iniciales. Se quiere calcular aproximadamente la solución del siguiente problema de valor inicial:
0))(,()( tttytfty ≥=′
00 )( yty = Donde f(y,t) es una función de y en tanto que t y la segunda ecuación es una condición inicial. En el método que vamos a describir se van hallando valores w0, w1, w2,…,wn,… cercanos a los de la solución y(t) en una serie de puntos t0 < t1 < t2 <…< tn <; separados entre sí una distancia (paso) h, es decir, t1 = t0 + h, t2 = t1 + h,…, tn = tn-1 + h. Por lo tanto el método de Euler consiste en aproximar la solución desconocida por su tangente conocida. Es decir, si h es pequeño es de esperar que el valor de la solución y(t0+h) = y(t1) sea próxima al valor de la recta tangente en ese mismo
Simulación de Sistemas - 337
45
punto: w0 + hf(t0,w0), que llamamos w1. Puesto que (t1, w1) se parece al desconocido (t1,w(t1) podemos aproximar w(t2) por el w2 que obtendremos de (t1,w1) de la misma forma que obtuvimos el w1 a partir del (t0,w0) inicial. Prosiguiendo así, vamos obteniendo los wn aproximados (más inexactos según nos alejamos de t0) dados por:
httwthfww nnnnnn +=+= ++ 11 ),( A continuación se presenta la forma algorítmica del método de Euler, para aproximar la solución del problema de valor inicial:
y' = f(t,y) a ≤ t ≤ b, y(a)=α, en (N+1) números uniformemente espaciados en el intervalo [a,b]: ENTRADAS: puntos extremos a,b; entero N; condición inicial α, SALIDA: aproximación w de y en los (N+1) valores de t. Paso 1 Hacer h=(b-a)/N; t= a; w= α SALIDA: (t,w) Paso 2 Para i=1,2,.., N seguir los Pasos 3 y 4. Paso 3 Hacer w=w+hf(t,w); (Calcular wi) t= a + ih. (Calcular ti) Paso 4 SALIDA (t,w) Paso 5 PARAR Para tener una idea de la interpretación geométrica del método de Euler introducimos primero la notación yi = y(ti) para cada i=1,2,…,N y observamos que, cuando wi es una buena aproximación de yi la suposición de que el problema está bien planteado implica que
f(tiwi) ≈ y’(ti) = f(ti, y(ti))
Consecuentemente, un paso en el método aparece como se muestra en la figura 3.1.
(3.1)
Simulación de Sistemas - 337
46
En la figura se muestra cómo y1 es evaluado, siguiendo la tangente a la curva en t0 (Cuya pendiente está dada por f(t0,y0)). El punto (t1, y1) hallado es distinto en general de (t1, y(t1)) Seguidamente se muestra un ejemplo donde se hace uso de una hoja de cálculo en Excel, para aplicar el método de Euler.
Ejemplo 3.1. (Aplicación del algoritmo de Euler) Use el método de Euler con h=0.1, para calcular el valor aproximado de y(0.5), del problema de valor inicial:
y' = -3t2y ; con y(0)= 3 ; 0 ≤ t ≤ 0.5 Solución Sustituyendo en (3.1) se obtienen los primeros términos de la sucesión:
y1 = 3 + (0.1).(0) = 3 y2 = 3 + (0.1).(-0.09) = 2.991
Figura 3.1
y(t0)=y(a)
y(t1) w1
w0
y(t) (t1,y(t1))
(t1,w1)=(a+h,α+hf(a,α))
(t0,w0)=(a,α)
t0=a t1
t
Simulación de Sistemas - 337
47
Hasta ahora se han calculado dos términos, el resto de las aproximaciones se obtendrán a través de una demostración en una hoja de cálculo de Excel.
A B C D E 1 2 h= 0.1 3 4 n tn yn f(t,y) yn+1 5 0 0 3 =-3B5^2*C5 =C5+C$2*D5 6 =A5+1 =B$5+C$2*A6 =E5 7 8 9 10 La utilización de la hoja de cálculo, permite construir la siguiente tabla:
A B C D E 1 2 h= 0.1 3 4 n tn yn f(t,y) yn+1 5 0 0 3 0 3 6 1 0.1 3 -0.09 2.991 7 2 0.2 2.991 -0.35895 2.955108 8 3 0.3 2.955108 -0.79787916 2.875320084 9 4 0.4 2.875320084 -1.38015364 2.7370472 10 5 0.5 2.73730472 -2.05297854 2.532006866
Ejercicios y actividades propuestas:
1) Aplique el método de Euler con h=0.5 al problema de valor inicial y’ = 2y2 + x, y(0) = -1 y determine y(1.5)
Copia el contenido de la celda
Última aproximación obtenida
Simulación de Sistemas - 337
48
2) Aplique el método de Euler con h=0.2 al problema de valor inicial
;5.0)1(,1
5−=
+=′ y
xyyy determine y(0.6)
Ejercicios de Autoevaluación: 1) Use el método de Euler con h=0.025, para los siguientes problemas de valor
inicial:
a) ;1)1(,21,12 −=≤≤−=′ yt
ty
ty
b) ;1)0(,20, −=≤≤+=′ ytyty 2) Use el método de Euler para aproximar la solución del siguiente problema de
valor inicial:
2
⎟⎠⎞
⎜⎝⎛−=′
ty
tyy , con y(1)= 1 y h=0.2 en el intervalo 21 ≤≤ t
3) Dado el problema de valor inicial y’ = y2 – t, aplique el método de Euler y halle
numéricamente entre -1 y 3 la solución con y(-1)=0. m Respuestas a los Ejercicios de Autoevaluación: 1) a)
i t wi 1 1.5 -0.3832803 2 2.0 -0.1395250
b)
i t wi 1 1 -0.3832803 2 -0.1395250
2)
Simulación de Sistemas - 337
49
Se tiene
2
⎟⎠⎞
⎜⎝⎛−=′
ty
tyy , 21 ≤≤ t , y(1)= 1, con h=0.2
Aplicando el método de Euler
⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛−+=+
2
1 ty
tyhyy ii
)6944,08333,0(2,012 −+=y 0278,12 =y el mismo procedimiento para las iteraciones restantes resulta:
3)
i t wi 1 -1 0 2 -0.9 0.1 3 -0.8 0.191 4 -0.7 0.2746481 5 -0.6 0.3521912579 6 -0.5 0.4245951261 7 -0.4 0.4926232282 8 -0.3 0.5568909927 9 -0.2 0.6179037505 10 -0.1 0.6760842550 11 0 0.7317932469 … 20 1 1.2141975534 … 30 2 1.988550160 … 40 3 272.5279419
i ti yi 0 1 1 1 1,2 1 2 1,4 1,02778 3 1,6 1,06681 4 1,8 1,11125 5 2 1,15850
Simulación de Sistemas - 337
50
UNIDAD 4
Método Numérico de Runge Kutta para la Resolución de Ecuaciones Diferenciales
Con está unidad se pretende exponer en forma sencilla y didáctica, el objetivo de uno de los métodos numéricos más exacto en la obtención de aproximaciones de soluciones de ecuaciones diferenciales ordinarias de primer orden, como es el método de Runge Kutta de cuarto orden. Para ello se presentarán ejemplos donde se muestra su uso. Se sugiere leer las recomendaciones para el estudio del contenido de la unidad, y de esta forma obtener una mejor comprensión del mismo.
Objetivo de la Unidad 4 Resolver numéricamente un modelo matemático descrito en términos de ecuaciones de estado, empleando el Método de Runge-Kutta
Contenido de la Unidad 4: Método de Runge Kutta
Simulación de Sistemas - 337
51
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad
• Repasar la teoría sobre ecuaciones diferenciales.
• Estudiar la Unidad 5 del libro.
• Resolver los problemas propuestos y los ejercicios de autoevaluación del
libro.
• Consultar otras fuentes bibliográficas.
Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿En que consiste el método de Runge Kutta de cuarto orden?
• ¿Cuál es la utilidad del método de Runge Kutta de cuarto orden?
• ¿Cómo se calcula el error de truncamiento local?
Simulación de Sistemas - 337
52
En los métodos de Runge-Kutta, el orden de precisión aumenta al utilizar puntos intermedios en cada intervalo. Una mayor precisión implica además que los errores decrecen más rápido al reducir h, en comparación con los métodos con precisión baja. Fundamentalmente se consideran tres métodos de Runge-Kutta: Runge-Kutta de segundo, tercero y cuarto orden. En esta sección se analizará el método de Runge Kutta de cuarto orden. Método de Runge- Kutta de Cuarto Orden Uno de los métodos más utilizados y exactos, es el método de Runge Kutta, de cuarto orden, que exige un mayor número de operaciones y que en cada paso toma el promedio ponderado de cuatro pendientes. En el método de Runge-Kutta de cuarto orden hay que evaluar en cada intervalo lo siguiente:
)22(61
43211 kkkkhyy nn ++++=+
donde ),(1 nn yxfk =
⎟⎠⎞
⎜⎝⎛ ++= 12 .
21,
2khyhxfk nn
⎟⎠⎞
⎜⎝⎛ ++= 23 .
21,
2khyhxfk nn
( )314 ., khyxfk nn += +
A continuación se presenta la forma algorítmica del método de Runge-Kutta de cuarto orden, para aproximar la solución del problema de valor inicial
y'= f(t,y), a ≤ t ≤ b, y(a) = α, en (N+1) números igualmente espaciados en el intervalo [a,b]:
(4.1)
Simulación de Sistemas - 337
53
ENTRADA puntos extremos a,b; enteros N; condición inicial α.
SALIDA aproximación w de y en los (N+1) valores de t.
Paso 1 Tomar h=(b-a)/N;
t= a;
w= α;
SALIDA (t,w);
Paso 2 Para i=1,2,…, N seguir los pasos 3-5
Paso 3 Tomar k1 = hf(t,w);
k2 = hf(t + h/2, w+ k1/2);
k3 = hf(t + h/2, w+ k2/2);
k4 = hf(t + h, w + k3)
Paso 4 Tomar w = w+(k1 + 2k2 + 2k3 + k4) / 6; (Calcular w).
t = a + ih. (Calcular ti).
Paso 5 SALIDA (t,w).
Paso 6 PARAR.
Ejemplo 4.1. (Aplicación del Algoritmo de Runge-Kutta de 4º orden)
Calcule y(1) resolviendo el problema de valor inicial 211y
y+
−=′ aplicando el
método de Runge Kutta de orden 4, con la condición inicial y(0) = 1, con h=1. Solución
Hacemos 211),(y
tyf+
−=
y y0 = 1 , t0 = 0. Puesto que sólo tenemos un intervalo, los cálculos son:
21
111),( 001 −=+
−== tyhfk
Simulación de Sistemas - 337
54
64.0))75.0(1(
12
,2 201
02 −=+
−=⎟⎠⎞
⎜⎝⎛ ++=
htkyhfk
6838.0))68.0(1(
12
,2 202
03 −=+
−=⎟⎠⎞
⎜⎝⎛ ++=
htkyhfk
9091.0))3161.0(1(
1),( 20304 −=+
−=++= htkyhfk
[ ] 3238.09091.0)6838.0(2)64.0(25.0611)22(
61
432101 =−−−−+=++++= kkkkhyy
Seguidamente se muestra un ejemplo donde se hace uso de una hoja de cálculo en Excel, para ayudar a aplicar el método de Runge Kutta de cuarto orden .
Ejemplo 4.2. Resuelva la siguiente ecuación diferencial y’= x2 + y2, con la condición inicial y(0) = 0, tomando el paso de integración h=0.1 Solución: Haciendo uso de la hoja de cálculo en Excel se obtine:
A B C D E 1 2 h= 0.1 3 4 n tn yn k1 k2 5 0 0 0 =B5^2+C5^2 =(B5+0.5*C$2)^2+(C5+0.5*C$2*D5)^2
6 =A5+1 =B$5+(C$2)*A6 =I5
Simulación de Sistemas - 337
55
F G H I 1 2 3 4 k3 k4 k yn+1 5 =(B5+0.5*C$2)^2+(C5+C$2*E5)^2 =(B6)^2+(C5+C$2*F5)^2 =(1/6)*(D5+2*E5+2*F5+G5 =C5+(C$2)*H5
6
La utilización de la hoja de cálculo, permite construir la siguiente tabla:
A B C D E F G H I 1 2 h= 0.1 3 4 n tn yn k1 k2 k3 k4 k yn+1 5 0 0 0 0 0.0025 0.00250002 0.01000006 0.00333335 0.000333335
6 1 0.1 0.00033333 0.01000011 0.02250069 0.02250213 0.04000667 0.0233354 0.002666875
7 2 0.2 0.00266688 0.04000711 0.06252178 0.0653356 0.09007957 0.06336623 0.009003498
8 3 0.3 0.0090035 0.09008106 0.12268245 0.12272915 0.16045269 0.12355949 0.021359447
9 4 0.4 0.02135945 0.16045623 0.20336332 0.20349399 0.25173963 0.20431841 0.041791288
10 5 0.5 0.04179129 0.25174651 0.30545703 0.30575632 0.36523697 0.30656836 0.072448125
Ejercicios y actividades propuestas: 1) Dado el problema de valor inicial:
1)1(,21,1 22 −=≤≤−−=′ yty
ty
ty
Use el método de Runge-Kutta de orden cuatro con h=0.05 para aproximar la solución.
2) Resuelva el problema de valor inicial yty 2−=′ aplicando el método de Runge
Kutta de orden 4, con la condición inicial y(0) = 1, y tomando un paso de integración h=0.1, en el intervalo 0 ≤ t ≤ 1
Última aproximación obtenida
Simulación de Sistemas - 337
56
Ejercicios de Autoevaluación: 1) Resuelva el problema de valor inicial yty +=′ aplicando el método de Runge
Kutta de orden 4, con la condición inicial y(1) = 3, y tomando un paso de integración h=0.1, en el intervalo 1 ≤ t ≤ 2
2) Dado el problema de valor inicial y’ = y2 – t, aplique el método de Runge Kutta
de orden 4 y halle numéricamente entre -1 y 3 la solución con y(-1)=0 y h=0.1
3) Dado el problema de valor inicial y’ = t-2y, aplique el método de Runge Kutta de
orden 4 y halle numéricamente entre 0 y 1 la solución con y(-1)=0 y h=0.1
Respuestas a los Ejercicios de Autoevaluación: 1)
t yi 1.0 3 1.1 3.2037347 1.2 3.4148802 1.3 3.6333537 1.4 3.8590787 1.5 4.0919845 1.6 4.3320051 1.7 4.5790788 1.8 4.8331483 1.9 5.0941594 2.0 5.3620613
2)
t yi -1 0
-0.9 0.0953100 -0.8 0.1823176 -0.7 0.2623378 -0.6 0.3363726 -0.5 0.4051902 -0.4 0.4693783 -0.3 0.5293796
Simulación de Sistemas - 337
57
-0.2 0.5855155 -0.1 0.6379997
0 0.6869456 … 1 0.9176486 … 2 -0.1884460 … 3 -1.5412582
3)
t wi 0 1 0.1 0.82341666 0.2 0.68790533 0.3 0.58602103 0.4 0.51166828 0.5 0.45985654 0.6 0.42649988 0.7 0.40825300 0.8 0.40237701 0.9 0.40662947 1 0.41917443
Consulta en la Web:
Se recomienda acceder a la siguiente dirección electrónica para ampliar sus conocimientos en relación a la representación gráfica de la solución de las ecuaciones diferenciales ordinarias. http://www.ucm.es/info/metodos/pdf/Apuntes/mii-pepe/EDO1.PDF
Simulación de Sistemas - 337
58
UNIDAD 5
Métodos numéricos de varios pasos para la resolución de ecuaciones
diferenciales Con el estudio de esta unidad se concluye lo referente a la resolución numérica de modelos matemáticos de sistemas dinámicos cuyo comportamiento es descrito mediante ecuaciones de estado. Se trata de ecuaciones diferenciales ordinarias con valores iniciales, a las cuales se les halla la solución aproximada empleando métodos numéricos de varios pasos. Se pretende a través de la aplicación de estos métodos obtener mejores aproximaciones a la solución. Objetivo de la Unidad 5 Resolver numéricamente un modelo matemático descrito en términos de ecuaciones de estado, empleando un Método de Varios Pasos.
Contenido de la Unidad 5: Método de varios pasos. Errores de los algoritmos. Método del Predictor-Corrector. Método de Adams-Moulton.
Simulación de Sistemas - 337
59
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad
• Repasar las unidades 3 y 4 • Estudiar en el libro UNA la unidad 6, titulada “Métodos Numéricos de
Varios Pasos para la Solución de Ecuaciones Diferenciales”. Puede omitir la sección que presenta el código de programación.
• Resolver los ejercicios del libro relacionados con los Métodos de
Varios Pasos para resolver numéricamente Ecuaciones Diferenciales Ordinarias (EDO). Utilice la hoja de cálculo, o algún lenguaje de programación, para hallar la solución numérica. Analice la solución aproximada. Si tiene a su alcance un paquete de resolución de ecuaciones diferenciales (el Maple, de Maplesoft™,permite resolverlas) puede hallar la solución del problema de valor inicial, para así analizar los resultados numéricos.
• Consultar otras fuentes bibliográficas.
• Consultar los temas estudiados en sitios de Internet que aborden el
tema.
• Ante cualquier duda, consultar a su asesor en el centro local.
• Si desea hacer algún comentario o sugerencia acerca del curso o de este material instruccional, comuníquese con el profesor que lo administra a través de la dirección de correo electrónico suministrada por la carrera. Recuerde que su comentario puede ser útil para fortalecer y enriquecer dicho material instruccional.
Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿Qué son Métodos Numéricos de Varios Pasos? ¿Puede describirlos? • ¿Qué ventajas conlleva la aplicación de este tipo de método? • ¿Qué son métodos abiertos? ¿Qué son métodos cerrados? • ¿En qué consisten los métodos predictor-corrector? ¿Cómo se aplican? • ¿Cómo se determina el error de truncamiento local?
Simulación de Sistemas - 337
60
Métodos de Varios Pasos Los métodos vistos en las unidades 3 y 4 se llaman métodos de un solo paso ya que la aproximación de la solución en el punto ti+1, de la red de puntos, involucra información sólo de un punto previo ti, de dicha red. Los Métodos de Varios Pasos para obtener una aproximación emplean más de un punto previo de la red de puntos. Sea la Ecuación Diferencial de primer orden: y ’(t) = f(y(t),t) (5.1)
Se pretende hallar una solución aproximada a (5.1) en el intervalo: a ≤ t ≤ b, dado que y(a) = α (valor inicial de la solución en el intervalo). Se obtendrán aproximaciones a la solución en cada punto de la red: t0, t1,…, ti, empleando valores previos de la misma cuando se obtiene su aproximación en ti+1.
La forma general para obtener la integral de una ecuación de estado puede ser aproximada por una serie truncada de manera siguiente:
!!
)(1
0
)(
1 pfh
ifhhww
pn
pp
i
in
i
nn ++= ∑−
=+ (5.2)
De aquí se obtiene la fórmula general:
in
k
ii
k
iini fBhwa +
==+ ∑∑ =
00 (5.3)
Donde h = (b-a)/N, N entero positivo
wi = w(ti), ti = a + ih ( i = 0,…,N)
Cuando Bi = 0 el método es llamado explícito o abierto y cuando Bi ≠ 0 se dice que el método es implícito o cerrado. Error de truncamiento Local
Simulación de Sistemas - 337
61
El error de truncamiento local es una medida que se hace para determinar en cuánto falla la solución de la ecuación diferencial cuando se emplea una aproximación por diferencias (5.3) El error de truncamiento local en el paso i+1 de un método de multipaso es:
[ ]))(,(...))(,(...)(
01110111
1 mimiiimmiimi
i tytfbtytfbh
wawaty−−+++
−−−++ ++−
++−=τ
i = m, m+1,…, N-1
Entre los métodos de varios pasos están:
• Adams-Bashforth • Adams-Moulton • Milne • Hamming
A la combinación de un método explícito con uno implícito se le denomina Método Predictor- Corrector, el método predictor se usa para obtener los valores iniciales, que se usarán en el método corrector. Los métodos predictor-corrector necesitan para su arranque el empleo de un método de un solo paso, ya que requieren información de varios puntos previos. Generalmente se emplea el Método de Runge-Kutta como arranque. El algoritmo que se obtiene del Método de Adams-Moulton de cuarto orden, Predictor – Corrector es el siguiente:
Problema: y ’(t) = f(y(t),t), a ≤ t ≤ b, dado que y(a) = α
para N + 1 puntos igualmente espaciados en el intervalo [a, b]
Algoritmo 5.1 Método de Adams-Moulton de cuarto orden, con paso
fijo
• Leer a, b, N, condición inicial α • Paso 1: h = (b-a)/N t0 = a w0 = α
Simulación de Sistemas - 337
62
Salida: (t0, w0) • Paso 2: Para i = 1,2,3 hacer { (Calcular los valores iniciales usando Runge-Kutta)
Paso 3: k1 = h f(ti -1, wi -1) k2 = h f(ti -1+ h/2, wi -1+ k1/2) k3 = h f(ti -1+ h/2, wi -1+ k2/2)
k4 = h f(ti -1+ h/2, wi -1+ k3) Paso 4: Hacer wi = wyi -1 + (k1+ 2 k2+ 2 k3 + k4)/6
ti = a + ih Paso 5: Salida : (ti, wi) } • Paso 6: Para i = 4,…,N hacer {
Paso 7: Hacer t = a + ih w = w3 + h [55 f(t3,w3) – 59 f(t2,w2) + 37 f(t1,w1) -9 f(t0,w0)]/24; Predictor w = w3 + h [9 f(t,w) +19 f(t3,w3) - 5 f(t2,w2) + f(t1,w1)]/24; Corrector Paso 8: Salida: (t,w) Paso 9: Para j = 0,1, 2 Hacer tj = tj+1
wj = wj +1 Paso 10: Hacer t3 = t y3 = w} • Paso 11: Finalizar
Fuente: Análisis Numérico, Burden y Faires
Ejemplo 5.1 ( Aplicación de un Método Predictor-Corrector) Resuelva numéricamente la siguiente ecuación diferencial ordinaria:
y’ = 1 - y, 0 ≤ t ≤ 1; y(0) = 1 , con h = 0,1 Para resolver el problema emplearemos como método predictor, el Método de Adams-Moulton abierto de 4 pasos y como corrector el Método de Adams - Moulton cerrado de 3 pasos. Las fórmulas a emplear son las siguientes: Predictor
)9375955(24 12334 nnnnnn ffffhww −+−+= +++++
Simulación de Sistemas - 337
63
Corrector
)5199(
24 12323 nnnnnn ffffhww +−++= +++++
Al hacer el cambio de variable: i + 1 ← n + 4, en los subíndices en la fórmula del Método Predictor, obtenemos: Predictor
)9375955(24 3211 −−−+ −+−+= iiiiii ffffhww
Al hacer el cambio de variable: i + 1 ← n + 3, en los subíndices en la fórmula del Método Corrector, obtenemos:
Corrector
)5199(24 2111 −−++ +−++= iiiii fffifhyy
Al emplear inicialmente el método predictor se requiere obtener los valores de fi, fi-1, fi-2 y fi-3, los cuales no han sido calculados; para resolver este problema se aplica el Método Runge Kutta de cuarto orden ( tres iteraciones). En las tablas 5.1 y 5.2 aparecen los resultados al aplicar estos métodos. Los cálculos fueron realizados empleando la hoja de Cálculo Microsoft Excel™. f(t,w) =-y+t+1 Solución exacta: e-t + t
a = 0 b = 1 N = 10 h = 0,1 w0 = y(a) = 1
Tabla 5.1 Obtención de aproximaciones empleando Runge-Kutta (iteraciones 1 a 3)
i Valores exactos K1 K2 K3 K4 wi ti 0 1 1 0 1 1,0048374180 0 0,005 0,00475 0,009525 1,0048375 0,1
2 1,0187307531 0,00951625 0,014040438 0,01381423 0,0181348
3 1,0187309 0,2
3 1,0408182207 0,01812691 0,022220564 0,02201588 0,0259253
2 1,0408184
2 0,3 Valores que se emplearán en la siguiente iteración (Predictor- Corrector)
Simulación de Sistemas - 337
64
(Continuación)
Tabla 5.2 Obtención de aproximaciones empleando el Método de Adams-
Moulton (Predictor-Corrector) (iteraciones 4 a 10)
I t Predecir w Corregir w t0 t1 t2 w0 w1 w2 4 0,4 1,07032310 1,07031991824 0,1 0,2 0,3 1,0048375 1,0187309 1,040818422
5 0,5 1,10653319 1,10653026841 0,2 0,3 0,4 1,0187309 1,0408184
2 1,0703199182
4
6 0,6 1,14881363 1,14881103255 0,3 0,4 0,5 1,040818421,0703199
2 1,1065302684
1
7 0,7 1,19658690 1,19658453138 0,4 0,5 0,6 1,070319921,1065302
7 1,1488110325
5
8 0,8 1,24933020 1,24932806045 0,5 0,6 0,7 1,106530271,1488110
3 1,1965845313
8
9 0,9 1,30657059 1,30656865679 0,6 0,7 0,8 1,148811031,1965845
3 1,2493280604
5
10 1 1,36788012 1,36787836602 0,7 0,8 0,9 1,196584531,2493280
6 1,3065686567
9
t3 w3 0,4 1,07031991824 0,5 1,10653026841 0,6 1,14881103255 0,7 1,19658453138 0,8 1,24932806045 0,9 1,30656865679 1 1,36787836602
Ejercicios de autoevaluación
Aproximaciones
Simulación de Sistemas - 337
65
1. Emplee el algoritmo 5.1 para aproximar la solución de:
y’ = 1 - y, 0 ≤ t ≤ 2; y(0) = 1, con h = 0,05
2. Emplee el algoritmo 5.1 para aproximar la solución de:
2y’ + y = 0; 0 ≤ t ≤ 1 ; y(0) = 1, con h = 0,025
La solución general de la ecuación diferencial es: Ce-1/2 t
3. Ecuación diferencial de primer orden con condiciones iniciales:
13'
3
2
++=
yxxy , con y(1)=0
Calcule:
a) Con el método del Predictor-Corrector una aproximación para y(1.5) y considere los incrementos h= 0.1
b) El error absoluto de la aproximación y(1.5) comparada con el valor real
igual a 0.706666.
4. Dada la siguiente ecuación diferencial con condiciones iniciales:
yttyy 4' +−= , con y(0)=1 y h=0,25
Calcule con el método del Predictor-Corrector una aproximación para y(1).
1. Ecuación diferencial
f(t,w) = 1-y
Respuestas a los ejercicios de autoevaluación
Simulación de Sistemas - 337
66
a = 0 b = 2 N = 40 h = 0,05 w = y(a) = 1
Runge- Kutta (iteraciones 1 a 3)
i K1 K2 K3 K4 wi ti 0 0 0 1 0 0 0 0 1 0,025 2 0 0 0 0 1 0,05 3 0 0 0 0 1 0,075
Adams- Moulton ( iteraciones 4 a 40)
i t Predecir w Corregir w t0 t1 t2 4 0,2 0,98125000 1,00035156250 0,025 0,05 0,075 5 0,25 1,00031128 1,00033181000 0,05 0,075 0,2 6 0,3 1,00033700 1,00031601916 0,075 0,2 0,25 7 0,35 1,00029349 1,00030073098 0,2 0,25 0,3 8 0,4 1,00028613 1,00028606269 0,25 0,3 0,35 9 0,45 1,00027211 1,00027211153 0,3 0,35 0,4
10 0,5 1,0002588380 1,00025884053 0,35 0,4 0,45 11 0,55 1,0002462168 1,00024621673 0,4 0,45 0,5 12 0,6 1,0002342086 1,00023420859 0,45 0,5 0,55 13 0,65 1,0002227861 1,00022278610 0,5 0,55 0,6 14 0,7 1,0002119207 1,00021192070 0,55 0,6 0,65 15 0,75 1,0002015852 1,00020158520 0,6 0,65 0,7 16 0,8 1,0001917538 1,00019175377 0,65 0,7 0,75 17 0,85 1,0001824019 1,00018240183 0,7 0,75 0,8 18 0,9 1,0001735060 1,00017350598 0,75 0,8 0,85 19 0,95 1,0001650440 1,00016504399 0,8 0,85 0,9 20 1 1,0001569947 1,00015699470 0,85 0,9 0,95 21 1,05 1,0001493380 1,00014933798 0,9 0,95 1 22 1,1 1,0001420547 1,00014205468 0,95 1 1,05 23 1,15 1,0001351266 1,00013512659 1 1,05 1,1 24 1,2 1,0001285364 1,00012853638 1,05 1,1 1,15 25 1,25 1,0001222676 1,00012226759 1,1 1,15 1,2 26 1,3 1,0001163045 1,00011630453 1,15 1,2 1,25 27 1,35 1,0001106323 1,00011063229 1,2 1,25 1,3 28 1,4 1,0001052367 1,00010523669 1,25 1,3 1,35 29 1,45 1,0001001042 1,00010010423 1,3 1,35 1,4 30 1,5 1,0000952221 1,00009522209 1,35 1,4 1,45
Simulación de Sistemas - 337
67
31 1,55 1,0000905781 1,00009057805 1,4 1,45 1,5 32 1,6 1,0000861605 1,00008616051 1,45 1,5 1,55 33 1,65 1,0000819584 1,00008195841 1,5 1,55 1,6 34 1,7 1,0000779613 1,00007796125 1,55 1,6 1,65 35 1,75 1,0000741590 1,00007415903 1,6 1,65 1,7 36 1,8 1,0000705423 1,00007054225 1,65 1,7 1,75 37 1,85 1,0000671019 1,00006710187 1,7 1,75 1,8
38 1,9 1,0000638293 1,00006382927 1,75 1,8 1,85 39 1,95 1,0000607163 1,00006071628 1,8 1,85 1,9 40 2 1,0000577551 1,00005775511 1,85 1,9 1,95
Continuación
w0 w1 w2 t3 w3
Simulación de Sistemas - 337
68
Se puede visualizar que la solución se aproxima a: y(t) = 1
2. Ecuación diferencial:
1 1 1 0,2 1,00035156250 1 1 1,00035156250 0,25 1,00033181000 1 1,00035156 1,00033181000 0,3 1,00031601916
1,00035156 1,00033181 1,00031601916 0,35 1,00030073098 1,00033181 1,00031602 1,00030073098 0,4 1,00028606269 1,00031602 1,00030073 1,00028606269 0,45 1,00027211153 1,00030073 1,00028606 1,00027211153 0,5 1,00025884053 1,00028606 1,00027211 1,00025884053 0,55 1,00024621673 1,00027211 1,00025884 1,00024621673 0,6 1,00023420859 1,00025884 1,00024622 1,00023420859 0,65 1,00022278610 1,00024622 1,00023421 1,00022278610 0,7 1,00021192070 1,00023421 1,00022279 1,00021192070 0,75 1,00020158520 1,00022279 1,00021192 1,00020158520 0,8 1,00019175377 1,00021192 1,00020159 1,00019175377 0,85 1,00018240183 1,00020159 1,00019175 1,00018240183 0,9 1,00017350598 1,00019175 1,0001824 1,00017350598 0,95 1,00016504399 1,0001824 1,00017351 1,00016504399 1 1,00015699470 1,00017351 1,00016504 1,00015699470 1,05 1,00014933798 1,00016504 1,00015699 1,00014933798 1,1 1,00014205468 1,00015699 1,00014934 1,00014205468 1,15 1,00013512659 1,00014934 1,00014205 1,00013512659 1,2 1,00012853638 1,00014205 1,00013513 1,00012853638 1,25 1,00012226759 1,00013513 1,00012854 1,00012226759 1,3 1,00011630453 1,00012854 1,00012227 1,00011630453 1,35 1,00011063229 1,00012227 1,0001163 1,00011063229 1,4 1,00010523669 1,0001163 1,00011063 1,00010523669 1,45 1,00010010423 1,00011063 1,00010524 1,00010010423 1,5 1,00009522209 1,00010524 1,0001001 1,00009522209 1,55 1,00009057805 1,0001001 1,00009522 1,00009057805 1,6 1,00008616051 1,00009522 1,00009058 1,00008616051 1,65 1,00008195841 1,00009058 1,00008616 1,00008195841 1,7 1,00007796125 1,00008616 1,00008196 1,00007796125 1,75 1,00007415903 1,00008196 1,00007796 1,00007415903 1,8 1,00007054225 1,00007796 1,00007416 1,00007054225 1,85 1,00006710187 1,00007416 1,00007054 1,00006710187 1,9 1,00006382927 1,00007054 1,0000671 1,00006382927 1,95 1,00006071628 1,0000671 1,00006383 1,00006071628 2 1,00005775511
Aproximaciones
Simulación de Sistemas - 337
69
Runge- Kutta (iteraciones 1 a 3)
i Ti Valores exactos K1 K2 K3 K4 wi ti
0 0 1 1 0
1 0,025 0,987577800
5 -0,0125 -0,01265625 -0,0126582 -0,01281646 0,9873424
4 0,025
2 0,05 0,975309912
0 -0,01234178 -0,01249605 -0,01249798 -0,01265423 0,9748450
9 0,05
3 0,075 0,963194417
7 -0,012185564 -0,01233788 -0,01233979 -0,01249406 0,9625059
3 0,075 Adams-Moulton ( iteraciones 4 a 40)
i t Predecir w Corregir w t0 t1 t2
4 0,1 0,95055091 0,9505498454
5 0,025 0,05 0,075
5 0,125 0,93873965 0,9387418145
5 0,05 0,075 0,1
6 0,15 0,92708167 0,9270805717
2 0,075 0,1 0,125
7 0,175 0,91556419 0,9155641918
6 0,1 0,125 0,15
8 0,2 0,90419087 0,9041908707
9 0,125 0,15 0,175
9 0,225 0,89295883 0,8929588314
0 0,15 0,175 0,2
10 0,25 0,88186632 0,8818663186
3 0,175 0,2 0,225
11 0,275 0,87091160 0,8709115992
8 0,2 0,225 0,25
12 0,3 0,86009296 0,8600929616
3 0,225 0,25 0,275
13 0,325 0,84940872 0,8494087152
6 0,25 0,275 0,3
f(t,w) = 2y’ + y = 0; a = 0 b = 1 N = 40 h = 0,025 w = y(a) = 1 Solución: e-1/2t
Simulación de Sistemas - 337
70
14 0,35 0,83885719 0,8388571907
3 0,275 0,3 0,325
15 0,375 0,82843674 0,8284367393
4 0,3 0,325 0,35
16 0,4 0,81814573 0,8181457328
8 0,325 0,35 0,375
17 0,425 0,80798256 0,8079825633
6 0,35 0,375 0,4
18 0,45 0,79794564 0,7979456427
5 0,375 0,4 0,425
19 0,475 0,78803340 0,7880334027
7 0,4 0,425 0,45
20 0,5 0,77824429 0,7782442946
2 0,425 0,45 0,475
21 0,525 0,76857679 0,7685767887
2 0,45 0,475 0,5
22 0,55 0,75902937 0,7590293745
1 0,475 0,5 0,525
23 0,575 0,74960056 0,7496005601
8 0,5 0,525 0,55
24 0,6 0,74028887 0,7402888724
7 0,525 0,55 0,575
25 0,625 0,73109286 0,7310928564
0 0,55 0,575 0,6
26 0,65 0,72201108 0,7220110750
7 0,575 0,6 0,625
27 0,675 0,71304211 0,7130421094
4 0,6 0,625 0,65
28 0,7 0,70418456 0,7041845581
0 0,625 0,65 0,675
29 0,725 0,69543704 0,6954370370
2 0,65 0,675 0,7
30 0,75 0,68679818 0,6867981794
0 0,675 0,7 0,725
31 0,775 0,67826664 0,6782666353
9 0,7 0,725 0,75
32 0,8 0,66984107 0,6698410719
2 0,725 0,75 0,775
33 0,825 0,66152017 0,6615201724
8 0,75 0,775 0,8
34 0,85 0,65330264 0,6533026369
1 0,775 0,8 0,825
35 0,875 0,64518718 0,6451871812
1 0,8 0,825 0,85
36 0,9 0,63717254 0,6371725373
3 0,825 0,85 0,875
37 0,925 0,62925745 0,6292574529
4 0,85 0,875 0,9
38 0,95 0,62144069 0,6214406913
1 0,875 0,9 0,925
39 0,975 0,61372103 0,6137210310
6 0,9 0,925 0,95
40 1 0,60609727 0,6060972659
7 0,925 0,95 0,975
Simulación de Sistemas - 337
71
Continuación
w0 w1 w2 t3 w3 Solución Exacta
0,98734244 0,97484509 0,962505933 0,1 0,95054984545 0,95122942 0,97484509 0,96250593 0,95054984545 0,125 0,93874181455 0,93941306 0,96250593 0,95054985 0,93874181455 0,15 0,92708057172 0,92774349 0,95054985 0,93874181 0,92708057172 0,175 0,91556419186 0,91621887 0,93874181 0,92708057 0,91556419186 0,2 0,90419087079 0,90483742 0,92708057 0,91556419 0,90419087079 0,225 0,89295883140 0,89359735 0,91556419 0,90419087 0,89295883140 0,25 0,88186631863 0,8824969 0,90419087 0,89295883 0,88186631863 0,275 0,87091159928 0,87153435 0,89295883 0,88186632 0,87091159928 0,3 0,86009296163 0,86070798 0,88186632 0,8709116 0,86009296163 0,325 0,84940871526 0,85001609 0,8709116 0,86009296 0,84940871526 0,35 0,83885719073 0,83945702 0,86009296 0,84940872 0,83885719073 0,375 0,82843673934 0,82902912 0,84940872 0,83885719 0,82843673934 0,4 0,81814573288 0,81873075 0,83885719 0,82843674 0,81814573288 0,425 0,80798256336 0,80856032 0,82843674 0,81814573 0,80798256336 0,45 0,79794564275 0,79851622 0,81814573 0,80798256 0,79794564275 0,475 0,78803340277 0,78859689 0,80798256 0,79794564 0,78803340277 0,5 0,77824429462 0,77880078 0,79794564 0,7880334 0,77824429462 0,525 0,76857678872 0,76912636 0,7880334 0,77824429 0,76857678872 0,55 0,75902937451 0,75957212 0,77824429 0,76857679 0,75902937451 0,575 0,74960056018 0,75013657 0,76857679 0,75902937 0,74960056018 0,6 0,74028887247 0,74081822 0,75902937 0,74960056 0,74028887247 0,625 0,73109285640 0,73161563 0,74960056 0,74028887 0,73109285640 0,65 0,72201107507 0,72252735 0,74028887 0,73109286 0,72201107507 0,675 0,71304210944 0,71355197 0,73109286 0,72201108 0,71304210944 0,7 0,70418455810 0,70468809 0,72201108 0,71304211 0,70418455810 0,725 0,69543703702 0,69593431 0,71304211 0,70418456 0,69543703702 0,75 0,68679817940 0,68728928 0,70418456 0,69543704 0,68679817940 0,775 0,67826663539 0,67875163 0,69543704 0,68679818 0,67826663539 0,8 0,66984107192 0,67032005 0,68679818 0,67826664 0,66984107192 0,825 0,66152017248 0,6619932 0,67826664 0,66984107 0,66152017248 0,85 0,65330263691 0,65376979 0,66984107 0,66152017 0,65330263691 0,875 0,64518718121 0,64564853 0,66152017 0,65330264 0,64518718121 0,9 0,63717253733 0,63762815 0,65330264 0,64518718 0,63717253733 0,925 0,62925745294 0,62970741 0,64518718 0,63717254 0,62925745294 0,95 0,62144069131 0,62188506 0,63717254 0,62925745 0,62144069131 0,975 0,61372103106 0,61415988 0,62925745 0,62144069 0,61372103106 1 0,60609726597 0,60653066
3. a) Empleando las fórmulas del método Predictor-Corrector con h=0.1,
y0=0 y
Aproximaciones
Simulación de Sistemas - 337
72
13'
3
2
++=
yxxy
tendremos:
15.0101
131.00),(3
2
000,1 =⎟⎟⎠
⎞⎜⎜⎝
⎛++
××+=+= yxhfyy p
148156.0115.0)1.1(
)1.1(3101
13210.00),(),((
2 3
2
3
2
,11000,1 =⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛
++×
+⎟⎟⎠
⎞⎜⎜⎝
⎛++
×+=++= pc yxfyxfhyy
Ahora calcularemos la segunda iteración:
294577.01148156.0)1.1(
)1.1(31.0148156.0),( 3
2
,11,1,2 =⎟⎟⎠
⎞⎜⎜⎝
⎛
++×
×+=+= ccp yxhfyy
292829.01294577.0)2.1(
)2.1(31148156.0)1.1(
)1.1(3210.0148156.0),(),((
2 3
2
3
2
.121,11,2 =⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛++
×+⎟⎟⎠
⎞⎜⎜⎝
⎛++
×+=++= pcc yxfyxfhyy
Así, sucesivamente, tendremos la siguiente tabla de aproximaciones:
Valor de x Valor aproximado
predictor de y Valor aproximado
corrector de y 1.1 0.15 0.148156 1.2 0.294577 0.292829 1.3 0.435836 0.434113 1.4 0.573740 0.572017 1.5 0.708254 0.706530
b) Para calcular el error absoluto tenemos:
000136.0706530.0706666.0706530.0)5.1( =−=−= yε
4. Empleando las fórmulas del método Predictor-Corrector con h = 0,25, y(0) = 1 y
Simulación de Sistemas - 337
73
yttyy 4' +−=
tenemos:
11
)0(4)1(025.01),( 000,1 =⎟⎠⎞
⎜⎝⎛ +−×+=+= yxhfyy p
09375.1
1)25.0(4)1(25.0
1)0(4)1(0
225.01),(),((
2 ,11000,1 =⎥⎦
⎤⎢⎣
⎡⎟⎠⎞
⎜⎝⎛−+⎟⎟
⎠
⎞⎜⎜⎝
⎛−+=++= pc yxfyxfhyy
Así, sucesivamente, obtenemos la siguiente tabla de aproximaciones:
Valor de t Valor aproximado predictor de y
Valor aproximado corrector de y
0.25 1.000000 1.093750 0.50 1.253962 1.470936 0.75 1.626989 1.817943
1 1.889633 1.986706
• Los problemas de ecuaciones diferenciales que hemos resuelto numéricamente
son problemas de valores iniciales, se trata de ecuaciones a las cuales se les agregan restricciones que se imponen a un mismo valor de la variable independiente generalmente al inicio llamado valor inicial. Cuando las restricciones se imponen en diferentes valores de la variable independiente el problema se llama “de valor en la frontera”. Al lector interesado se le recomienda investigar sobre este tipo de problemas y los métodos de solución empleados.
• Existe otro tipo de métodos multipaso, en los que el paso empleado es de tamaño variable, una de las ventajas de esta variante es la de permitir el control del error de truncamiento local. Al lector interesado en profundizar en el tema se le recomienda investigar sobre los algoritmos aplicables en esta modalidad y las ventajas de su aplicación.
Ampliación de conocimientos
Simulación de Sistemas - 337
74
Consulta en la Web:
Se recomienda consultar la siguiente dirección, la cual ofrece una visión general sobre la solución numérica de ecuaciones diferenciales ordinarias. http://maestros.its.mx/~sescobedo/metnum/apuntesmn/solecdif.pdf
MÓDULO III
Simulación de Sistemas estocásticos Introducción La simulación es una técnica muy poderosa que se emplea para el análisis y el estudio de sistemas complejos. En los cursos de investigación de operaciones se analizan y estudian modelos típicos que pueden ser resueltos analíticamente y en la mayoría de ellos el objetivo consiste en hallar una solución óptima. En simulación se opera con variables y relaciones estocásticas, que hacen las situaciones más complejas, y por ello dificultan su representación como modelos únicos. Lo que se pretende con la simulación es imitar las operaciones del mundo real, el cual evoluciona a través del tiempo. El proceso de la simulación involucra la corrida o ejecución del modelo a través del tiempo, en el computador, con el fin de generar muestras representativas de las medidas de gestión o comportamiento del sistema. Para estimar el comportamiento
Simulación de Sistemas - 337
75
del sistema a través del modelo se deberán tomar en consideración algunos factores como: las condiciones iniciales y la duración del período a ser simulado. Toda simulación requiere de algún sustento teórico que conducirá el funcionamiento del sistema. En este módulo se tratan los fundamentos teóricos y las técnicas que se emplean en simulación estocástica, los cuales servirán de base para llevar a cabo la formulación del modelo de simulación.
Objetivo del Módulo III: Formular un modelo de simulación, bajo un enfoque lógico y crítico.
Estructura del Módulo III Unidad 6: Introducción a la simulación
Unidad 7: Formular un modelo de simulación dada una situación.
UNIDAD 6
Introducción a la simulación
En el inicio de todo proceso de simulación usualmente se recogen datos que permitirán el estudio del comportamiento del sistema. En algunos casos es fácil verificar que las variables a medir en un sistema siguen una distribución conocida. En otros casos es necesario interpretar la noción de la frecuencia para construir la función de distribución de probabilidad. En ambos casos se requerirá el empleo de herramientas para generar números aleatorios, bajo una distribución específica. En esta unidad se enfoca el proceso de generación de muestras de variables aleatorias, con una distribución específica. Inicialmente se trata el método de muestreo de Monte Carlo, luego los métodos más comunes para generar números aleatorios y finalmente la generación de muestras aleatorias a partir de distribuciones de probabilidad conocidas, tanto en el caso continuo como en el caso discreto. Objetivo de la Unidad 6
Simulación de Sistemas - 337
76
Obtener los eventos y/o los números seudoaleatorios y/o las variables aleatorias discretas y continuas
Contenido de la Unidad 6: Simulación de Monte Carlo. Método de generación de números seudoaleatorios. Generación de variables aleatorias discretas y continuas. Elementos de simulación de evento discreto.
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad
• Repasar la teoría sobre variable aleatoria, media, varianza y
distribuciones discretas y continuas. • Estudiar las unidades 7, 8 y 9 del módulo titulado “Simulación de
Procesos Estocásticos”. Puede omitir las secciones que contienen códigos de programas, así como el desarrollo del experimento de simulación.
• Estudiar en la selección de lecturas 6.1, lo relacionado con
generalidades de modelado, generación de números aleatorios, generación de variables aleatorias y pruebas estadísticas.
• Diseñar algoritmos que implementen métodos de generación de
números seudoaleatorios uniformes en (0,1). Codifíquelos en un
Simulación de Sistemas - 337
77
lenguaje de programación de su dominio o emplee la hoja de cálculo Excel.
• Diseñar algoritmos que implementen métodos de generación de
valores de una variable aleatoria con distribución conocida (continuas y discretas). Codifíquelos en un lenguaje de programación de su dominio o emplee la hoja de cálculo Excel.
• Resolver los problemas propuestos y los ejercicios de autoevaluación.
• Realizar los ejercicios del libro y de la selección de lecturas
concernientes al tema en cuestión, empleando la hoja de cálculo.
• Consultar otras fuentes bibliográficas.
• Consultar los temas estudiados en sitios de Internet que aborden el tema.
• Ante cualquier duda, consultar a su asesor en el centro local.
• Si desea hacer algún comentario o sugerencia acerca del curso o de
este material instruccional, comuníquese con el profesor que lo administra a través de la dirección de correo electrónico suministrada por la carrera. Recuerde que su comentario puede ser útil para fortalecer y enriquecer dicho material instruccional.
Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿Cuáles son las actividades fundamentales que se deben llevar a cabo para
realizar un modelo de simulación? • ¿En qué consiste cada método para la obtención de números
seudoaleatorios? • ¿En qué consisten las pruebas estadísticas para los generadores de números
seudoaleatorios? • ¿En qué consiste la simulación estocástica discreta? • ¿Cómo se generan muestras de una variable aleatoria con distribución
continua? ¿Cuáles son los métodos más usados? • ¿Cómo se generan muestras de una variable aleatoria con distribución
discreta? ¿Cuáles son los métodos más usados?
Simulación de Sistemas - 337
78
Modelo de simulación Un modelo de simulación es la representación del comportamiento de un sistema, expresado en relaciones lógicas o matemáticas. Los sistemas pueden ser clasificados en discretos y continuos. Los sistemas discretos son aquellos en los que los cambios de estado ocurren en puntos contables o discretos a través del tiempo. Un ejemplo de un sistema discreto es la atención de clientes en un cajero automático, el sistema cambia bien sea cuando un cliente finaliza su operación con el cajero y se retira o bien cuando llega un nuevo cliente. Estos cambios de estado en el sistema ocurren en puntos discretos en el tiempo. Los sistemas continuos son aquellos en los que los cambios de estado ocurren continuamente en el tiempo. Un ejemplo de un sistema continuo es un proceso químico. Los sistemas continuos se modelan empleando ecuaciones diferenciales. La simulación puede ser determinística o estocástica. La primera no contiene variables aleatorias y la segunda tiene al menos una variable aleatoria. Sólo trataremos modelos estocásticos discretos. Iniciaremos el estudio con el Método de Monte Carlo, como un recurso de muestreo aleatorio para estimar la salida de un experimento. El Método de Monte Carlo El Método de Monte Carlo es un método numérico empleado en la resolución de problemas en los que se requiere emplear números aleatorios. Fue creado en el año 1949 por Von Neumann y Ulam y permanece vigente en la actualidad. El nombre del método proviene de la ciudad de Monte Carlo, muy famosa por su casino. El método de Monte Carlo es un método muy versátil que se emplea entre muchas aplicaciones, para hallar aproximaciones de áreas de figuras, aproximaciones de integrales, determinación de intervalos de confianza y en métodos de remuestreo estadístico. Variantes del MC se usan para resolver problemas muy diversos. Entre ellas el caso de los cálculos computacionales relacionados con sistemas moleculares. La importancia actual del método Monte Carlo se basa en varios hechos:
La existencia de problemas numéricos de muy difícil solución por métodos exclusivamente analíticos.
El desarrollo de las aplicaciones en los computadores, que permite que los
experimentos no se tengan que realizar físicamente sino mediante simulaciones de números aleatorios o de números determinísticos pseudoaleatorios.
Simulación de Sistemas - 337
79
Las aplicaciones posibles, que han trascendido a las propias Matemáticas
(ecuaciones diferenciales parciales de Laplace o de Schrödinger, integrales, matrices, distribuciones de Student, redondeos aleatorios, etcétera).
Debido a las múltiples aplicaciones de este método, cuando hablemos del mismo, nos referiremos en plural, como Métodos de Monte Carlo.
Fuente: http://canales.laverdad.es/cienciaysalud/6_1_8.html
Ejemplo 6.1 (Aplicación del Método de Monte Carlo en la aproximación del área de una figura en el plano)
Suponga que queremos calcular el área de una región arbitraria F, que está dentro del cuadrado unitario, como se muestra en la figura 6.1. Si seleccionamos N puntos al azar dentro del cuadrado y N’ puntos de estos caen en la región F, el área de la región F será aproximadamente: N’/N. Mientras mayor sea N, mejor es la estimación del área del cuadrado. Se puede concebir este método como una serie de intentos o experimentos independientes uno del otro, en donde se promedian las salidas para obtener un resultado. Se realizan N intentos, en donde cada uno de ellos consiste en la obtención de un número aleatorio dentro de los límites del cuadrado. Los resultados son los siguientes: Sea N’, el número de puntos que caen en F y N, el número de puntos en el cuadrado unitario. Se tiene:
N’ = 14 N = 37
Área aproximada de F = N’/N = 0,37837838 Area de F: 0,40798611
Simulación de Sistemas - 337
80
Figura 6.1
Es fácil observar que el método utilizado para calcular el área tendrá validez sólo si los puntos aleatorios son desplegados uniformemente en el cuadrado unitario. En la práctica este método no se utiliza para aproximar áreas, ya que existen métodos numéricos que proveen de mayor exactitud. Hechos acerca del método: No ayuda a ganar al jugar con la ruleta En resumen, los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. A continuación se presenta una aplicación del método en distribuciones de probabilidades, esta será de gran utilidad al momento de diseñar el modelo de simulación. El procedimiento más usado para generar los tiempos de ocurrencia de los eventos, dada una distribución de probabilidad es el muestreo de Monte Carlo. Este método se basa en el concepto de probabilidad como la frecuencia de ocurrencia de los eventos.
1 0
1
x
F
0,5
y
Simulación de Sistemas - 337
81
Ejemplo 6.2 (Muestreo de Monte Carlo) Suponga que la duración de cierto evento es una variable aleatoria con la siguiente distribución de probabilidad:
Duración del evento (minutos)
Probabilidad
1 2 3
35% 40% 25%
Tabla 6.1
Para obtener resultados que se correspondan con la distribución dada, el muestreo debe ser independiente, esto significa que cada duración del evento obtenida a través de él, es independiente de la precedente y de la que le sigue. Mostraremos cómo se realiza la generación, arreglando la distribución en una ruleta, como se muestra en la figura 6.2
Figura 6.2 Ruleta para la distribución
Si hacemos girar la ruleta y el puntero marca el sector S2, significa que el evento a representar durará 2 minutos; si el puntero marca el sector S1, el evento durará 1 minuto y si marca el sector S3 , el evento durará 3 minutos. Suponiendo que la ruleta no presenta desperfectos, al efectuar el muestreo, ocurrirá con más frecuencia el evento cuya duración es: 2 minutos. En la práctica no es fácil contar con una ruleta apropiada a cada distribución. Además la simulación se realiza en el computador y se emplean funciones
giro35 % 25 %
40 %
puntero
x = 1
x = 2
x = 3
S1
S2
S3
Simulación de Sistemas - 337
82
generadoras de números aleatorios. Para llevar a cabo el proceso de muestreo en el ejemplo presentado, se supone que la ruleta posee 100 números, desde el 00 hasta el 99 inclusive. Los números del 00 hasta el 34 inclusive, se asocian con la duración del evento de 1 minuto, los números comprendidos entre 35 y 74 se corresponden con la duración de 2 minutos y los que van desde el 75 hasta el 99, con el de 3 minutos. Se emplea un procedimiento generador de números aleatorios desde 00 hasta 99 y se realiza la asignación correspondiente, como se muestra en la tabla 6.2
Números aleatorios
Duración (minutos)
00-34 1 35-74 2 75-99 3
Tabla 6.2
En la tabla 6.3, se presentan una serie de números aleatorios obtenidos empleando la hoja Microsoft Excel™. La función aleatorio() genera números aleatorios entre 0 y 1. Se multiplican por 100, se redondean a números enteros (también es posible truncarlos) y se aplica la asignación expresada en la tabla 6.2
Número aleatorio (NA)
NA multiplicado
por 100 Redondeado
a entero Tiempo de duración
0.893568313 89.35683126 89 3 0.468962656 46.89626557 47 2 0.238698466 23.86984661 24 1 0.044702919 4.47029194 4 1 0.65887724 65.88772402 66 2
0.713923995 71.39239945 71 2 0.737959739 73.7959739 74 2 0.714950273 71.49502732 71 2 0.489308993 48.93089933 49 2 0.832835555 83.28355546 83 3
Tabla 6.3
Ejemplo 6.3 (Muestreo de Monte Carlo) En una empresa distribuidora de refrescos, se reciben pedidos cuya magnitud oscila entre 3.000 y 18.000 cajas. De acuerdo al archivo histórico de datos, la distribución de probabilidad es la siguiente:
Simulación de Sistemas - 337
83
Magnitud de los pedidos
(en cajas)
Probabilidad
3.000 - 8.000 0,3 8.000 - 13.000 0,2
13.000 – 18.000 0,5
Tabla 6.4 La función continua de distribución acumulada es la siguiente:
Figura 6.3 Función de distribución acumulada de la magnitud de los pedidos
La relación y = F(x) expresa el valor de la función acumulada F, dado un valor U0. Para hallar el valor de o1, debemos saber en qué intervalo se encuentra U0, En la figura, U está en el intervalo [0,3 , 0,5]. Calculamos la ecuación de la recta que pasa por los puntos (8, 0,3) y (13, 0,5), y la expresamos en función de x:
5,02,0
5+=
Ux (6.1)
(en miles de cajas)3 8 13 180,0
0,3
0,5
1
O1
U0
x
F(x)
Simulación de Sistemas - 337
84
• Si asignamos a U0 el valor de 0,4, entonces de acuerdo a la ecuación 6.1, x
(magnitud de los pedidos), U = 0,4, será igual a 10,5 cajas. • Si asignamos a U0 el valor de 0,46, entonces de acuerdo a la ecuación, x
(magnitud de los pedidos) será igual a 11 cajas. • Por cada intervalo debe obtenerse una ecuación similar a la 6.1
Al lector interesado se le recomienda investigar sobre las diferentes aplicaciones del método de Monte Carlo. En la siguiente sección se presentan métodos para generar números aleatorios Métodos de generación de números seudoaleatorios En todo experimento de simulación estocástica se requiere el empleo de números aleatorios. En el computador y en las calculadoras existen limitaciones para la representación de los números, además las técnicas de producción de estos números en estos dispositivos son deterministas, es por ello que a estos números aleatorios se les denomina números seudoaleatorios. Los métodos de generación de números aleatorios se utilizan para obtener números aleatorios entre 0 y 1. Los números a obtener, cualquiera sea el método deben tener las siguientes características:
Uniformemente distribuidos Estadísticamente independientes La media debe ser estadísticamente igual a ½ La varianza debe ser igual a 1/12
Los métodos más conocidos para generar números aleatorios son:
• Métodos congruenciales • Método de cuadrados medios
Métodos congruenciales: Se basan en operaciones del siguiente tipo:
ri+1 = (a + c. ri) mod m (6.2)
Ampliación de conocimientos
Simulación de Sistemas - 337
85
En donde a, c y m son constantes y r0 es denominado la semilla del generador. En algunos lenguajes de programación existen funciones para la generación de números aleatorios, entre 0 y 1, ó entre 0 y un número positivo mayor que 1. También existen funciones que permiten asignar valores a la semilla.
La operación módulo (mod) se efectúa entre números enteros y consiste en hallar el resto de la división entera de x entre y. Así la operación 5 mod 3 = 2; 15 mod 3 = 0.
Ejemplo 6.4 (Generación de números aleatorios empleando un método congruencial)
Genere 10 números aleatorios, utilizando como semilla r0 = 29, y como constantes: a = 117, c = 11 y m = 311 De acuerdo a la relación (6.2) se tiene:
Número obtenido según Recurrencia
Número Aleatorio
(NA) 125 0,40322581 248 0,8 46 0,1483871 1 0,00322581
128 0,41290323 281 0,90645161 98 0,31612903
262 0,84516129 200 0,64516129 140 0,4516129
Tabla 6.5 Nota: Estos resultados se obtuvieron en una hoja de cálculo Excel. La función equivalente a módulo es la función residuo. Si m tiene un valor pequeño, ocurrirá un ciclo de repetición de los números, por ello se recomienda escoger a m como el entero más grande que se pueda aceptar el computador.
Recordatorio
Simulación de Sistemas - 337
86
Existen reglas para la selección de los valores de a y c, estas son:
• El número c debe ser un entero impar, no divisible entre 3 ni entre 5. • El número a debe ser escogido tal que a mod 8 = 5, para el caso en que se
emplee una computadora binaria y a mod 200 = 21, para el caso en que se emplee una computadora decimal
Ejercicios y actividades propuestas:
• Utilizando la hoja de cálculo Excel o alguna calculadora, genere 20
números aleatorios con valores de m menores a 311. Examine los números obtenidos. Observe que cuando el valor de m es pequeño, por ejemplo m = 7, se repiten los números obtenidos.
• Utilizando la hoja de cálculo, genere 30 números aleatorios. Calcule la
media aritmética y la varianza de estos números generados. Verifique si estos estimadores tienen las características deseadas.
Método de cuadrados medios: El procedimiento para obtener los números aleatorios de acuerdo a este método, es el siguiente:
• Suministrar una semilla • Elevar al cuadrado la semilla • Tomar el k dígitos centrales, para formar el número aleatorio. • Los k dígitos pasarán a ser la nueva semilla para obtener el nuevo número
aleatorio
Ejemplo 6.5 (Generación de números aleatorios empleando el método de cuadrados medios)
Dada la semilla 3567, obtener 6 números aleatorios de 4 dígitos.
Número Cuadrado NA 3567 12723489 0,7234 7234 52330756 0,3307 3307 10936249 0,9362
Simulación de Sistemas - 337
87
Dada la semilla 3567, obtener 6 números aleatorios de 4 dígitos
• La selección de los parámetros a, b y m en los métodos para la obtención de los números aleatorios, no es arbitraria. Su determinación está fundamentada en la teoría de los números. Se recomienda al lector interesado investigar sobre los criterios y las bases que sustentan la selección de estos parámetros.
Pruebas estadísticas Al emplear un generador de números aleatorios, es importante constatar si la secuencia de números obtenidos cumple con las características deseadas. Existen ciertas pruebas estadísticas, las cuales se mencionan a continuación:
• Pruebas de medias • Pruebas de variancia o varianza • Pruebas de forma • Pruebas de independencia
Para profundizar en las pruebas estadísticas referidas se recomienda realizar los ejemplos que aparecen en la selección de lecturas, capítulo “Simulación” Generación de variables aleatorias discretas y continuas En toda simulación probabilística se maneja la ocurrencia de eventos. La ocurrencia de eventos debe estar regida por una distribución de probabilidad. Para obtener estos eventos empleando una función de distribución de probabilidad se emplean los generadores de eventos. Los generadores de eventos de poblaciones aleatorias son muy útiles para modelar situaciones específicas al hacer una simulación.
9362 87647044 0,647 6470 41860900 0,8609 8609 74114881 0,1148
Tabla 6.6
Simulación de Sistemas - 337
88
Existen varios métodos para la generación de eventos a partir de distribuciones de probabilidad conocidas. Todos ellos se basan en el uso de números aleatorios (0,1) uniformes, independientes e igualmente distribuidos. Consideraremos el muestreo en primer lugar para el caso en que la variable aleatoria tiene una distribución continua y en segundo lugar cuando tiene distribución discreta. Caso: variable aleatoria continua Las funciones de distribución para variables aleatorias continuas más conocidas son:
• Exponencial • Uniforme • Triangular • Normal • Gamma • Chi Cuadrado • Weibull • Erlang
A continuación se presentan los métodos genéricos: Transformación Inversa o Método Inverso y el Método de Aceptación-Rechazo y los métodos específicos: Convolución y Directo. La exposición sobre cada método se ilustra con ejemplos referidos a distribuciones conocidas. Método de Inversión: Suponga que se requiere hallar una muestra aleatoria x, de la función de densidad de probabilidad f(x). La función acumulativa de probabilidad, si la variable aleatoria es de distribución continua está dada por:
)()()( xxPdttfxFx
<== ∫∞−
Como se conoce la función de densidad de la variable aleatoria y se requiere hallar la muestra aleatoria, la misma se obtendrá a partir de la inversa de la función acumulativa, como se expresa a continuación :
x = F-1(r), en donde r ∈ (0,1) (6.3) Por lo cual el método consiste en hallar un número aleatorio uniformemente distribuido entre 0 y 1 y aplicando la función acumulativa inversa se obtiene la muestra aleatoria x. Cabe destacar que existen funciones de distribución para las cuales resulta muy costosa la obtención de la función inversa.
Simulación de Sistemas - 337
89
Ejemplo 6.6 (Generación de muestras aleatorias con distribución uniforme, empleando el método de Inversión)
Sea una variable aleatoria uniformemente distribuida: U(2,8). La función de distribución uniforme es la siguiente:
⎪⎪⎩
⎪⎪⎨
⎧
≥
≤≤−−
<
=
81
82
20
)(
x
xabax
x
xF
El valor de x se obtiene, empleando la relación 6.3, así
x = F-1(U) = 2 + (8-2)U Si se obtienen números aleatorios a partir de un generador de números aleatorios en (0,1), los resultados son:
NA a+(b-a)*U 0,07100566 2,42603398
0,15760714 2,945642810,46562939 4,793776370,61228534 5,673712030,94271469 7,656288130,62618179 5,757090760,3896156 4,33769363
0,61604503 5,696270210,23677881 3,420672880,71815757 6,30894539
Tabla 6.7
Los valores obtenidos son válidos siempre que los números aleatorios empleados sean uniformemente distribuidos en (0,1)
Simulación de Sistemas - 337
90
Generación de muestras aleatorias con distribución Exponencial Para hallar muestras aleatorias con esta distribución, empleamos el Método de Inversión. La función de distribución acumulativa (ver figura 6.5) es:
F(x) = 1- e-ax
Como deseamos obtener valor de x, debemos despejar x en la expresión:
r = 1- e-ax en donde r ∈ (0,1) De aquí se obtiene:
)(1 rLna
x −= (6.4)
Figura 6.4 Función de densidad para números aleatorios con distribución
exponencial
Simulación de Sistemas - 337
91
Figura 6.5 Función de distribución acumulativa para números aleatorios con
distribución exponencial A continuación se presenta un ejemplo en donde emplea el Método de Inversión, para obtener muestras aleatorias con distribución exponencial.
Ejemplo 6.7 (Generación de muestras aleatorias con Distribución Exponencial, Método de Inversión)
Genere números aleatorios para la distribución Exponencial, con α = 15. Como x = -1/α Ln r, donde r es un número aleatorio uniformemente distribuido en (0,1)
r x 0.00404103 0.36741707 0.95884255 0.00280189 0.86271739 0.00984454 0.9153499 0.00589659
0.30126301 0.07998477 0.0893076 0.16104458
0.94775257 0.00357745 0.18997418 0.11072447 0.57723029 0.03663427 0.35977659 0.06815147
1.0
0.0
Simulación de Sistemas - 337
92
Tabla 6.8 El método de inversión no se puede aplicar siempre, ya que en algunos casos no es fácil obtener la inversa de una función. Existen otros métodos que pueden ser útiles para obtener muestras aleatorias con distribuciones conocidas como el método de Aceptación y Rechazo y el de Convolución. Método de Aceptación -Rechazo Este método es empleado cuando no existe la distribución acumulativa en forma cerrada. Para este tipo de distribuciones se empleará el método que se especifica a continuación: Sea f(x) una función de distribución de una variable aleatoria, definida en un intervalo finito a ≤ x ≤ b. Se seguirán los siguientes pasos para hallar una muestra aleatoria x:
Paso 1: Seleccionar una constante M tal que M es el mayor valor de f(x), sobre el intervalo [a, b]
Paso 2: Obtener dos números aleatorios en (0,1), r1 y r2. Paso 3: Calcular x* = a + (b-a) r1
Paso 4: Evaluar f en x*, sea f(x*) Paso 5: Si f(x*)/M ≥ r2, entonces x* es aceptada como una muestra aleatoria
cuya distribución es f(x). Terminar. En caso contrario se rechaza x* y se repite el paso 2
En ele ejemplo siguiente se aplica el Método de Aceptación-Rechazo
Ejemplo 6.8 (Generación de muestras aleatorias con Distribución Triangular, empleando el Método de Aceptación- Rechazo)
Sea la variable aleatoria x, cuya función de distribución es la siguiente:
⎩⎨⎧ ≤≤
=casootroen
xxxf
0103
)(
Como primer paso se debe obtener el valor de M, para el ejemplo M = 3
Simulación de Sistemas - 337
93
M= 3 a= 0 b= 1
Al obtener dos números aleatorios r1 y r2, se tienen los siguientes resultados:
r1= 0,346736653 r2= 0,512154324
Los resultados son:
r1 x* f(x*) f(x*)/M Prueba 0,34673665 0,346736653 1,04020996 0,34673665 Se acepta x*
Entonces, se acepta el valor x* como una muestra aleatoria con la función de distribución f(x) Si para este ejemplo, los valores de r1 y r2 hubiesen sido:
r1= 0,325386011 r2= 0,196939764
Resultados:
r1 x* f(x*) f(x*)/M Prueba
0,32538601 0,325386011 0,97615803 0,32538601Se rechaza
x* Se rechaza el valor x*. En este caso es necesario generar dos nuevos números aleatorios y repetir el proceso Método de Convolución La generación de valores para las variables aleatorias con distribución normal no es posible empleando alguno de los métodos anteriores. Para ello se utiliza el Método de convolución el cual consiste en la suma de variables aleatorias independientes, con distribuciones más sencillas y se apoya en el Teorema del Límite Central. La suma Y de n variables aleatorias independientes e idénticamente distribuidas: Y1, Y2,…, Yn, cada una con media µ y varianza finita σ2 es aproximadamente normal
Simulación de Sistemas - 337
94
distribuida con media nµ y varianza nσ2. Si aplicamos esto a variables aleatorias uniformes U(0,1), con media µ = ½ y varianza σ2= 1/12, entonces:
2/11
12
5.0
⎟⎠⎞
⎜⎝⎛
−=∑=
n
nRZ
n
ii
(Transformada z)
Es aproximadamente normal con media 0 y varianza 1. Si n = 12 entonces tenemos:
612
1−= ∑
=iiRZ
Si deseamos generar un valor para una variable aleatoria con distribución normal, media µ y varianza σ2, obtenemos Z y luego la estandarizamos empleando la relación:
X = µ + σZ (6.5) El método de convolución presentado aquí sólo se aplica a la distribución normal y no puede emplearse en otras distribuciones. Sin embargo se pueden generar muestras aleatorias para variables con distribución Erlang, con parámetro kλ, partiendo del hecho que una variable con distribución Erlang puede obtenerse como la suma de k variables independientes e idénticamente distribuidas. Existe otro método aplicable a la distribución normal denominado método directo, que se explica a continuación. Método Directo Consiste en generar dos números aleatorios U(0,1), r1 y r2, los cuales serán transformados en valores con distribución normal, media 0 y varianza 1 a través de lo siguiente:
Z1 = (-2lnr1)½ sen 2π r2 (6.6) Z2 = (-2lnr1)½ cos 2π r2 Al estandarizar se tiene
X1 = µ + σZ1 (6.7)
Simulación de Sistemas - 337
95
X2 = µ + σZ2 El método de Convolución genera valores aleatorios aproximados a la normal. El método Directo produce valores normales exactos.
Ejemplo 6.9 (Generación de muestras aleatorias con Distribución Normal, aplicando el Método de Convolución y el Método Directo)
La demanda de litros de leche en una distribuidora de alimentos es una variable aleatoria con distribución normal, media de 1.200 litros y desviación estándar de 200 litros. Se requiere obtener una muestra aleatoria para la demanda. Empleando el Método de Convolución, en una hoja Excel se obtuvo lo siguiente:
n Ri 1 0,9716746632 0,145035063º3 0,9119826464 0,8669167485 0,388293556 0,7893817017 0,0693273688 0,418577939 0,68585856110 0,2560300111 0,20669791912 0,371481898
Tabla 6.9
081258059,612
1∑=
=i
iR
Z = ∑=
=−12
16
iiR 0,081258059
Función: ALEATORIO ()
Simulación de Sistemas - 337
96
Media: 1200
Desviación Estándar: 200
X : 920,6681866 ≈ 921 litros
Empleando el método directo se obtuvieron dos muestras aleatorias:
ri zi xi (estándar) 1 0,96277541 -0,179082687 1164,18346 ≈ 1.164 litros 2 0,61264834 -0,209283594 1158,14328 ≈1.158 litros
• Los métodos de la inversión y Aceptación-Rechazo son los más utilizados
para la generación de muestras de variables aleatorias de distribuciones continuas conocidas. Existen otros métodos como el de Composición y el de Cocientes de Uniformes, que se pueden emplear para el mismo fin. Al lector interesado se recomienda investigar sobre estos métodos.
Caso: variable aleatoria discreta En algunas situaciones se presentan funciones de distribución que no se corresponden con funciones de distribución conocidas, generalmente se cuenta con un conjunto de datos, relacionados con la ocurrencia de los eventos. A este tipo de distribuciones discretas se les denomina empíricas y su tratamiento se hace empleando el Método de monte Carlo. Las funciones de distribución para variables aleatorias discretas más conocidas son:
• Bernoulli • Binomial • Hipergeométrica • Poisson • Binomial negativa
Ampliación de conocimientos
Función: DISTR.NORM.INV(probabilidad; media; desv_estándar)
Simulación de Sistemas - 337
97
Igualmente como en el caso discreto, existen métodos genéricos y específicos. Describiremos los métodos de Inversión y Aceptación – Rechazo. Método de inversión Este método se basa en el siguiente resultado: sea })(:{min)( xxFxuF ≤= . Si U es una variable aleatoria con distribución uniforme, U(0,1), entonces la variable
)(UFX = tiene una función de distribución F. Si queremos obtener valores de una variable aleatoria discreta, con función de probabilidad:
P{ X = xj } = pj, j = 0,1,…, (6.8) En donde 1=∑
jjp
Se debe generar un número aleatorio U, con distribución uniforme, U(0,1), tal que:
⎪⎪⎪⎪
⎩
⎪⎪⎪⎪
⎨
⎧
<≤
+<≤
<
=
∑ ∑−
= =
M
M1
1 1
1001
00
j
i
j
iiij pUpsix
ppUpsix
pUsix
X (6.9)
Como P{ a ≤ U < b} = b-a Para 0< a < b < 1, se tiene que:
{ } j
j
ii
j
iij ppUpPxXP =
⎭⎬⎫<≤
⎩⎨⎧== ∑∑
=
−
= 1
1
1 (6.10)
Simulación de Sistemas - 337
98
Por lo que X tiene la distribución deseada Lo aquí presentado se puede expresar en el siguiente algoritmo:
• Generar un número aleatorio U • Si U < p0 entonces hacer X = x0
Terminar • Si U < p0 + p1 entonces hacer X = x1 Terminar • Si U < p0 + p1+ p2 entonces hacer X = x1 Terminar
• • •
Si los xi, i ≥ 0, están ordenados de manera que x0 < x1 < x2 <… y si F denota la función de distribución acumulativa de X, entonces:
∑=
=j
iij pxF
0)( y X = xj si F(xj-1) ≤ U ≤ F(xj) (6.11)
Ejemplo 6.10 (Generación de muestras aleatorias con Distribución Bernoulli, aplicando el Método de Inversión)
Obtenga 10 muestras aleatorias con distribución Bernoulli, dado que p = 0,45 Sea X una variable aleatoria con distribución Bernoulli (1, p) Se empleará la siguiente función inversa:
Simulación de Sistemas - 337
99
⎩⎨⎧
−<−≥
== −≥ pusipusi
IuF pu 1011
)( )1( (6.12)
Se generan 10 números aleatorios uniformes en (0,1). Por cada número aleatorio obtenido se emplea la relación (6.12) para hallar las muestras.
Tabla 6.10 Método de Aceptación-Rechazo Es similar al caso continuo. Dada una variable aleatoria discreta con una función de masa de probabilidad { pj, j ≥ 0}, simulamos una variable aleatoria Y, con función de masa { qi } y luego se acepta este valor si se cumple que es menor o igual que pY /qY (probabilidad proporcional) Se seguirán los siguientes pasos para hallar una muestra aleatoria x:
Paso 1: Generar un valor Y con su función de masa qj Paso 2: Obtener un número aleatorio U, en (0,1) Paso 3: Calcular C = pY/(cqY) c es una constante tal que c ≥ pj /qj para todo j Paso 4: Si U < C, hacer X = Y . Terminar. Se acepta el valor de Y En caso contrario Y es rechazado, ir al paso 1
Número aleatorio Muestra
0,04541273 0 0,9401114 1
0,74745227 1 0,31183547 0 0,76602184 1 0,66241266 1 0,10665422 0 0,01882653 0 0,76090088 1 0,83887074 1
Simulación de Sistemas - 337
100
Ejemplo 6.10 (Generación de muestras aleatorias, aplicando el Método de Aceptación-Rechazo )
Dada una variable aleatoria X, la cual puede tomar los valores con su respectiva probabilidad mostrados en la tabla (6.11)
Tabla 6.11 Se quiere obtener una muestra aleatoria, empleando el Método de Aceptación-Rechazo. Se tomará q (la variable simulada) con una función de densidad uniforme discreta en 1, …, 10. Entonces qj = 1/10, j = 1,…,10 C = Max { pj/qj} = 2,5 Para esta situación dada, con el fin de obtener un valor para py, se modifica el algoritmo presentado, al siguiente:
Paso 1: Generar un número aleatorio U1 en (0,1) y hacer: Y = Entero (10.U1) + 1 Paso 2: Obtener otro número aleatorio U2, en (0,1) Paso 3: Calcular C = pY/(cqY) c es una constante tal que c ≥ pj /qj para todo j. Para este caso c*qY = 0,25 Paso 4: Si U2 < C, hacer X = Y . Terminar. Se acepta el valor de Y
xi p(xi) 1 0,02 2 0,12 3 0,13 4 0,05 5 0,07 6 0,12 7 0,12 8 0,25 9 0,08 10 0,04
Simulación de Sistemas - 337
101
En caso contrario Y es rechazado, ir al paso 1
Resultados al aplicar el algoritmo:
U1 Y qY cqY pY pY/cqY U2 Prueba (U2<pY/(cqY)?)
0,33472058 4 0,1 0,25 0,05 0,2 0,11486849 Se acepta Luego Y = 4 es una muestra aleatoria
• Los métodos de la inversión y Aceptación-Rechazo son los más utilizados
para la generación de muestras de variables aleatorias de distribuciones discretas conocidas. Existen otros métodos como el de Composición y el de Alias, así como métodos específicos. Al lector interesado se recomienda investigar sobre estos métodos.
6.1 En un quiosco de ventas de periódicos y revistas, se desea hacer un estudio
sobre el comportamiento de la venta de la revista Al Día. De acuerdo a datos almacenados sobre la conducta de la demanda de dicha revista, se estiman las siguientes categorías:
Categoría de la demanda de la revista
Porcentaje de ocurrencia
Alta 25% Media 40% Baja 35%
Tabla 6.10
Ampliación de conocimientos
Ejercicios de autoevaluación
Simulación de Sistemas - 337
102
Además se obtuvo la siguiente distribución, dentro de cada categoría:
Tabla 6.11 En donde la demanda se cuantifica en número de unidades vendidas a la semana. Sobre la base de la distribución dada, realice un procedimiento para hallar valores de la demanda. Genere 10 valores de la demanda empleando números aleatorios.
6.2 Obtenga una ecuación similar a la ecuación 6.1, en el ejemplo 6.3, para el
caso de los intervalos [0 , 0,3] y [0,5 , 1], en función de x 6.3 Genere una secuencia de 30 números aleatorios entre 0 y 1 empleando el
método congruencial, para a = 40, c = 13 y m = 1231 y una semilla de 4571. 6.4 Dada la siguiente función de distribución para la variable aleatoria x:
⎪⎩
⎪⎨⎧ ≤≤
=casootroen
xxxf
0
203)( ,
Distribución de probabilidad
Demanda
Alta
Media
Baja
25 0,05 0,05 0,25 32 0,05 0,05 0,15 38 0,05 0,2 0,15 45 0,05 0,2 0,15 58 0,1 0,3 0,1 65 0,2 0,1 0,1 72 0,2 0,05 0,05 85 0,3 0,05 0,05
Simulación de Sistemas - 337
103
utilice el Método de Inversión para obtener muestras aleatorias con esta función de distribución, empleando números aleatorios uniformes en (0,1).
6.5 El proceso de las llegadas en un sistema de reclamos se rige por una distribución de Poisson. Dado que el parámetro de la distribución es de 5 reclamos por hora. Obtenga una muestra aleatoria Poisson.
6.1 Para poder generar valores para la demanda, se obtienen las funciones de
distribución acumulativas y la asignación de números aleatorios
Categoría de la demanda
frecuencias Acumulativa
Asignación de números aleatorios
Alta 0,25 0,25 0-24 Media 0,4 0,65 25-63 Baja 0,35 1 64-99
Tabla 6.12
Distribución Acumulativa por categoría
Tabla 6.13
Respuestas a los ejercicios de autoevaluación
Alta
Media
Baja
0,05 0,05 0,25 0,1 0,1 0,4
0,15 0,3 0,55 0,2 0,5 0,7 0,3 0,8 0,8 0,5 0,9 0,9 0,7 0,95 0,95 1 1 1
Simulación de Sistemas - 337
104
Asignación de números aleatorios por categoría
Alta Media
Baja
Demanda (Unidades)
0 4 0 4 0 24 25 5 9 5 9 25 39 32 10 14 10 29 40 54 38 15 19 30 49 55 69 45 20 29 50 79 70 79 58 30 49 80 89 80 89 65 50 69 90 94 90 94 72 70 99 95 99 95 99 85
Tabla 6.14
Para hallar valores para la demanda, se genera un número aleatorio y se determina la categoría de la misma (alta, media, baja), según la asignación presentada en la tabla 6.12. Luego se genera otro número aleatorio que permitirá determinar la demanda dentro de la categoría, de acuerdo a la asignación de números aleatorios de la tabla 6.14.
NA Transformación Categoría NA Transformación
0,43471486 43 MEDIA 0,58340409 58 0,5380535 53 MEDIA 0,22211303 22
0,43624139 43 MEDIA 0,95469003 95 0,19328224 19 ALTA 0,41520653 41 0,68068241 68 BAJA 0,64048507 64 0,49755314 49 MEDIA 0,54377652 54 0,37300542 37 MEDIA 0,09707081 9 0,35008265 35 MEDIA 0,45258993 45 0,79972903 79 BAJA 0,54487743 54 0,82288855 82 BAJA 0,5001867 50
Tabla 6.15
Nota: NA se refiere al número aleatorio generado
Simulación de Sistemas - 337
105
La demanda semanal de la revista Al Día se muestra en la tabla 6.16
NA
transformado
Categoría
Demanda (unidades) 58 MEDIA 58 22 MEDIA 38 95 MEDIA 85 41 ALTA 65 64 BAJA 45 54 MEDIA 58 9 MEDIA 32 45 MEDIA 45 54 BAJA 38 50 BAJA 38
Tabla 6.16
6.2 Ecuaciones:
• Para el intervalo [3,8] : al asignar valores de U comprendidos entre [0 , 0,3], se obtienen los valores de x de acuerdo a la relación:
33,0
5+=
Ux
• Para el intervalo [13,18] : al asignar valores de U comprendidos entre [0,5 , 1], se obtienen los valores de x de acuerdo a la relación:
81,0+=
Ux
6.3 Método congruencial a = 40 c =13 m =1231 semilla = 4571
Simulación de Sistemas - 337
106
Tabla 6.17 6.4 Función acumulativa:
⎪⎪⎩
⎪⎪⎨
⎧
≥
≤≤
<
=
21
206
00
)(2
x
xxx
xF
Al resolver para x se obtiene:
;6
2
rx= por lo tanto: rx 6=
6.5 Para obtener una muestra con distribución Poisson, λ = 5, se parte de lo siguiente:
Una variable aleatoria X es Poisson, con tasa λ si
{ }!i
eiXPpi
i
λλ−===
En este caso consiste en el número de reclamos que llegan en un intervalo de tiempo dado.
Números seudoaleatorios
375 513 1133 1222 554 1228 1154 1087 1 270 630 53 1088 844 729 643 1164 900 1013 400 661 899 316 16 648 455 248 1078 1031 802
Simulación de Sistemas - 337
107
Para calcular las probabilidades de Poisson, se emplea la siguiente fórmula: 0,
11 ≥+
=+ ipi
p ii
λ (6.13)
Se aplicará el siguiente algoritmo, el cual se basa en el resultado (6.13) para obtener la muestra:
Paso 1: Generar un número aleatorio U , U(0,1), Paso 2: i= 0, p = e-λ , F = p Paso 3: Si U< F , X = N, terminar Paso 4: p=λp/(i+1), F = F +p, i = i+1 Paso 5: Ir al paso 3
En la siguiente tabla se muestran los resultados, al aplicar el algoritmo:
i P
F U Observaciones
0 e-λ= 0,006737947 0,006737947 0,82574706 No se satisface la condición
1 0,03368973 0,04042768 0,48204587 No se satisface la condición
2 0,08422434 0,12465202 0,62895448 No se satisface la condición
3 0,1403739 0,26502592 0,73075022 No se satisface la condición
4 0,17546737 0,44049329 0,01386511 Se satisface la condición
Tabla 6.18
La muestra corresponde a X = 4
Simulación de Sistemas - 337
108
UNIDAD 7
Desarrollo del modelo de simulación
En los módulos anteriores se ha acentuado la necesidad de estudiar un sistema empleando un modelo, así como también se ha manejado el concepto de simulación, como técnica para analizar el comportamiento de un sistema. Cuando se realiza la simulación se experimenta con diferentes entradas y condiciones con el objeto de estudiar las salidas. En esta unidad se abordará el desarrollo de un modelo de simulación, contemplando todas sus fases, desde la conceptualización del mismo hasta el análisis de los resultados. Reiteramos que nuestro enfoque estará centralizado sólo en el modelo de simulación de eventos discretos o simulación discreta. Bajo esta técnica se tratan los sistemas que evolucionan en forma discreta, lo cual significa que su estado cambia sólo en ciertos instantes de tiempo y no en forma continua. En todo momento se estimula a la utilización del computador como medio indispensable para la realización del modelo de simulación. Objetivo de la Unidad 7 Formular un modelo de simulación dada una situación.
Contenido de la Unidad 7: Formulación del modelo de simulación. Selección de Lenguajes de simulación. Pruebas estadísticas. Validación y Estabilización.
Simulación de Sistemas - 337
109
Para llevar a cabo el estudio de esta unidad, presentaremos algunas recomendaciones que incluyen un conjunto de actividades cuya realización se recomienda hacer antes de proseguir a analizar los ejemplos aquí presentados.
Recomendaciones para el estudio del contenido de la unidad
• Repasar en la selección de lecturas 6.2, la cual se titula “Líneas de
espera” el capítulo relacionado con los modelos de colas o líneas de espera y su solución.
• Estudiar en las unidades 8 y 9 del módulo titulado “Simulación de
Procesos Estocásticos”, lo relacionado con los experimentos de simulación. Puede omitir las secciones que contienen códigos de programas.
• Estudiar en la selección de lecturas 6.3, lo relacionado con el
desarrollo del modelo de simulación, lenguajes de simulación, validación y estabilización del modelo.
• Leer la selección de lecturas 7.1, titulada: “Simulación por
computadora: Aplicaciones y Análisis Estadístico”, esta selección presenta casos en los cuales se aplica el proceso de simulación discreta y para su implementación se emplea un paquete de simulación.
• Resolver los ejercicios propuestos en la selección de lecturas. Utilice
la hoja de cálculo o algún lenguaje de simulación.
• Resolver los ejercicios del libro relacionados con los experimentos de simulación. Utilice la hoja de cálculo, algún lenguaje de simulación o programación de propósito general, para realizar sus experimentos.
• Consultar otras fuentes bibliográficas.
• Consultar los temas estudiados en sitios de Internet que aborden el
tema.
• Ante cualquier duda, consultar a su asesor en el centro local.
• Si desea hacer algún comentario o sugerencia acerca del curso o de este material instruccional, comuníquese con el profesor que lo administra a través de la dirección de correo electrónico suministrada por la carrera. Recuerde que su comentario puede ser útil para fortalecer y enriquecer dicho material instruccional.
Simulación de Sistemas - 337
110
Al concluir el estudio de esta unidad en el libro, el estudiante deberá estar capacitado para responder las siguientes preguntas:
• ¿En qué consiste la simulación estocástica discreta? ¿Cuáles tipos existen? • ¿Cómo se elabora un modelo de simulación? • ¿Qué son lenguajes de simulación? ¿Cuáles son los lenguajes más
utilizados? • ¿Qué son simuladores? ¿Cuáles son los simuladores más utilizados? • ¿En qué consiste la validación y la estabilización del modelo de simulación? • ¿Cómo se deben analizar los resultados de una simulación?
Simulación de Sistemas - 337
111
Simulación estocástica La realización de una simulación comprende un conjunto de actividades, que se describen a continuación: Formulación del problema: Consiste en la definición de las variables de estado, parámetros, medidas y criterios a considerar. En general, en el proceso de formulación del problema se establecen las relaciones entre las entidades importantes que conforman el sistema en estudio. Elaboración del modelo: Previamente a la elaboración del modelo se recolectan los datos, provenientes de la observación del sistema y/o datos históricos. Se recomienda diseñar un modelo simple y progresivamente incorporar los nuevos elementos o relaciones que sean necesarias. Se establecen las restricciones, limitaciones, criterios de ejecución y parada. Esta etapa incluye: el tipo de simulación a emplear, la lista de los eventos y la tipificación de los datos. Correr el modelo: Consiste en seleccionar el lenguaje de simulación o herramienta computacional o bien elaborar el programa a implantar en el computador y ejecutarlo. Verificar el modelo: En esta etapa se determina si los resultados obtenidos al ejecutar el programa, se corresponden con lo que se quería obtener, en pocas palabras, si el programa funciona de manera apropiada. Validar el modelo: Es una etapa fundamental en ella se evalúa si representa al sistema real y los resultados son confiables. Si se logra comprobar que el modelo es válido, se procede al diseño del experimento. En caso contrario es preciso revisar el modelo, para hacer los ajustes que se requieran. Diseñar el experimento: Consiste en realizar diferentes corridas de la simulación, empleando diferentes criterios. Analizar los resultados obtenidos: Incluye la recolección de los resultados y la realización de análisis estadísticos. El proceso descrito se puede visualizar en la siguiente figura (Figura 7.1) Elaboración del modelo de simulación Los sistemas que serán estudiados son aquellos que al evolucionar en el tiempo presentan cambios en algún atributo de alguna entidad, cada atributo se asocia a una variable. Cada vez que ocurre un evento, los valores de estas variables cambian, por lo tanto cambia el estado del sistema. Los eventos ocurren en distintos
Simulación de Sistemas - 337
112
instantes de tiempo y el paso del tiempo se controla con un reloj de simulación. Una de las actividades a realizar cuando se quiere elaborar un modelo de simulación, dependiendo de la implantación en el computador es definir el tipo de modelo que se realizará. Tipos de simulación Existen dos tipos de simulación discreta, cuando se emplea el mecanismo del reloj:
• Orientada a intervalos • Orientada a sucesos
A continuación se describen ambos tipos Simulación orientada a intervalos También se le conoce como síncrona. En este tipo de simulación se mantiene un reloj que se incrementa en pasos fijos de tiempo ∆t. Así la medición del tiempo se hace en los puntos: t, t + ∆t, t + 2∆t y así sucesivamente. El diagrama de flujo de este tipo de simulación se muestra en la figura 7.2.
Simulación de Sistemas - 337
113
Figura 7.1 Pasos en el proceso de simulación
Formulación
Elaboración del modelo
Verificado ?
Correr el modelo
si
Diseñar el experimento
Analizar los resultados
Completa ?
Documentar
si
Validado ?
no
no
Simulación de Sistemas - 337
114
Figura 7.2 Simulación con incremento uniforme de tiempo Fuente: Ríos D., Ríos S. y Martín J.
Características del método de Simulación orientada a intervalos: Es de implementación sencilla. Sólo se detectan los eventos que ocurren en intervalos de tiempo t + j∆t, t + (j +1)∆t, lo cual ocasiona mediciones innecesarias. Es muy empleado en simulaciones de sistemas continuos.
Simulación de Sistemas - 337
115
Simulación orientada a eventos Este tipo de simulación también se le conoce como asíncrona, en ella el tiempo avanza de acuerdo a la ocurrencia de un evento, es decir del instante t al instante t’. El diagrama de flujo se muestra en la figura 7.3
Figura 7.3 Simulación con incremento variable Fuente: Ríos D., Ríos S. y Martín J.
Simulación de Sistemas - 337
116
Características del método de Simulación orientada a intervalos: Sólo se representan los eventos. Se invierte más eficientemente el tiempo de computación. Es la estrategia más usada en los lenguajes de simulación. Lista de eventos En toda simulación es importante elaborar una lista de los eventos que podrían ocurrir en la misma. Son ejemplos de eventos los siguientes:
• Inicio • Una llegada de un elemento al sistema. • Ocurrencia de una falla • Una salida de un elemento • Fin
En algunas simulaciones se les asigna un código a cada evento, a efectos de llevar a cabo un conteo de sus ocurrencias. En general podría haber diferencias en cuanto a la tipificación que se emplea en un lenguaje de simulación y a la que se realiza empleando un programa o una hoja de cálculo. Tipificación de datos y variables Los datos y variables a utilizar en la simulación, de acuerdo a su naturaleza son de los siguientes tipos:
• iniciales: condiciones iniciales. Se refieren a los datos previos a la simulación, ejemplo: en los problemas de inventario, podría ser el inventario inicial de un artículo o un pedido del artículo.
• Determinísticos: Son aquellos cuyo valor se conoce con certeza. Por
ejemplo la duración del envío de una orden es de 2 semanas. • Estocásticos: Son aquellos de cuyo valor se tiene incertidumbre y se le
asignan funciones de probabilidades empíricas o conocidas.
Las variables de acuerdo a su uso son de los siguientes tipos:
• Conteo: Se emplean para contar el número de ocurrencias de eventos. • Tiempo: Llevan la cuenta del tiempo de la simulación. • Estado del sistema: Describen el estado del sistema en el tiempo t.
Existen otras variables que miden otros valores como ganancias esperadas, pérdidas, etc.
Simulación de Sistemas - 337
117
Observaciones acerca de la simulación numérica: nnoo ssiimmuullee ccuuaannddoo……
El problema puede resolverse analíticamente. No hay información o ni siquiera datos estimados. El comportamiento del sistema es demasiado complejo o no puede ser definido. Las expectativas del modelo no pueden ser alcanzadas El problema puede resolverse usando “análisis de sentido común”. Es más fácil cambiar o ejecutar experimentos directamente en el sistema real. El modelo no puede ser verificado o validado
En el siguiente ejemplo: se muestra un caso muy sencillo de simulación en donde no se requiere llevar un conteo de reloj.
Ejemplo 7.1 ( Simulación de una venta de pólizas ) Juan Pérez es un corredor de seguros, que trabaja para la empresa Seguros Saturno. Su dinámica de trabajo consiste en visitar a clientes potenciales de casa en casa para venderles pólizas de seguros. Basado en datos históricos que posee debido a su amplia experiencia en el ramo, ha determinado que de todas las visitas que hace el 50 % de las veces la persona no está dispuesta a adquirir una póliza. Si la persona está dispuesta a adquirir una póliza, esto no significa que se asegure la venta, se estima que 1/3 de esas personas compran la póliza A, cuyo costo es de 1.000 UM, un 1/6 de ellas adquiere la póliza B, cuyo costo es de 2.000 UM y ½ definitivamente no adquiere póliza alguna. Sobre la base de la situación planteada realiza una simulación de 20 visitas. A continuación se presenta la simulación de 20 visitas. Para la determinación de disposición o no disposición de adquirir la póliza se emplean números aleatorios uniformes en (0,1), si resultan menores que 0,5, se considera que no hay disposición de adquirir la póliza, en caso contrario están dispuestos a hacerlo. Para determinar el tipo de póliza, se utiliza la distribución presentada en la siguiente tabla:
X p(x) P(x)
Asignación de NA
Tipo de póliza 1 0,5 0,5 0 - 49 No adquiere 2 0,33333333 0,83333333 50 -82 A 3 0,16666667 1 83 - 1 B
Tabla 7.1 Distribución de probabilidades y asignación de NA
Simulación de Sistemas - 337
118
En la siguiente tabla se expone la simulación de la situación. En ella se genera un número aleatorio que en caso de resultar menor que 0,5, se interpreta que la persona no está interesada en adquirir la póliza. Si la persona está dispuesta a adquirirla (NA1 ≥ 0,5), se generará otro número aleatorio NA2, que una vez multiplicado por 100 y truncado a dos dígitos se asigna según la tabla 7.2
Tabla 7.2 Simulación realizada en la hoja de cálculo MS. Excel.
(Un guión indica que aún cuando existía disposición, de adquirir la póliza, no se hizo) Además se incluye una columna en donde se especifica el valor de la póliza, si acaso se adquiere. Es posible realizar varias simulaciones, para estudiar el comportamiento del modelo y determinar por ejemplo las ganancias esperadas. La simulación que mostramos en el ejemplo anterior es muy fácil de realizar, en cada línea o fila de ella, se simula la visita a un cliente. Los eventos son los siguientes:
• El cliente no está dispuesto a adquirir la póliza • El cliente está dispuesto a adquirirla • El cliente adquiere una póliza A • El cliente adquiere una póliza B. • El cliente definitivamente no adquiere la póliza
Visita NA1 Dispuesto No
dispuesto NA2 Tipo de póliza Valor 1 0,24605947 X 2 0,14316615 X 3 0,25190223 X 4 0,03533658 X 5 0,23081397 X 6 0,44853065 X 7 0,41604419 X 8 0,91658076 X 0,95094565 B 2.000,00 9 0,29484831 X 10 0,95449848 X 0,34091065 − 0,00 11 0,73105903 X 0,94203678 B 2.000,00 12 0,2605152 X 13 0,7223643 X 0,55106905 A 1.000,00 14 0,39583658 X 15 0,32177828 X 16 0,91111876 X 0,30863562 − 0,00 17 0,89633796 X 0,14639037 − 0,00 18 0,26063385 X 19 0,03757757 X 20 0,56235785 X 0,1277856 − 0,00
Simulación de Sistemas - 337
119
En el siguiente ejemplo se realiza una simulación, en donde se presenta una situación de líneas de espera o colas.
Ejemplo 7.2 (Simulación orientada a eventos, sistema de colas) Los clientes llegan a una taquilla de reclamos de una empresa de telefonía móvil. Se ha observado el sistema y se han realizado mediciones de los tiempos entre llegadas y de servicio. Los clientes llegan uno a uno, no lo hacen en grupos y el primero que llega es el primero en ser atendido. En los modelos de colas estudiados se suponía que tanto los tiempos entre llegadas como los de servicio eran exponenciales, pero en este caso hemos obtenido a partir de las observaciones distribuciones empíricas tanto de las llegadas como del servicio. Se puede decir que los clientes que llegan a la taquilla provienen de una fuente infinita además no hay limitaciones de espacio que podrían truncar la cola. Las llegadas ocurren en forma aleatoria, de acuerdo a la siguiente función de distribución:
Tiempo entre llegadas (minutos) Probabilidad
1 0,2 2 0,15 3 0,35 4 0,3
Tabla 7.3 Distribución del tiempo entre llegadas
Los tiempos de servicio son aleatorios y su distribución es la siguiente:
Tiempo de servicio (minutos) Probabilidad
1 0,4 2 0,35 3 0,25
Tabla 7.4 Distribución del tiempo de servicio
Sobre la base de la situación planteada se requiere realizar una simulación, de 27 minutos. Gráficamente se puede representar el sistema como se muestra en la figura 7.4
Simulación de Sistemas - 337
120
Figura 7.4 Gráfico que representa el sistema
Para realizar una simulación discreta del comportamiento de este sistema, definiremos los siguientes estados:
1. Número de clientes en el sistema. 2. Estado del servidor: libre u ocupado 3. El tiempo de la próxima llegada
Los eventos están relacionados con los estados, son aquellos que cambian el estado del sistema y son los siguientes:
E1: La llegada de un cliente al sistema E2 : La salida de un cliente del sistema una vez que es atendido
En la simulación estos eventos ocurrirán en ciertos puntos del tiempo. Se tiene una variable de tiempo de reloj. La simulación se puede comenzar en un tiempo cero, cuando el sistema estará vacío. El tiempo final de la simulación es 27 minutos, esto significa que el evento ficticio “fin” ocurrirá en el tiempo 27. Al llegar el primer cliente, encuentra la taquilla libre y es atendido inmediatamente. Si llega un nuevo cliente y encuentra el servidor ocupado se une a la línea de espera. La determinación de la próxima llegada así como la duración del servicio se
Población infinita
Taquilla de
atención
salida
Simulación de Sistemas - 337
121
hace empleando números aleatorios y la asignación apropiada según las distribuciones presentadas en las tablas 7.2 y 7.3 respectivamente. Ajuste de la variable reloj cuando ocurre una llegada al sistema:
tiempo de reloj + tiempo generado entre llegadas
Ajuste de la variable reloj cuando ocurre una salida del sistema:
tiempo de reloj + tiempo generado de servicio
Antes de realizar la simulación, estableceremos que ocurre una llegada al sistema en el tiempo 1(evento inicial) Las asignaciones de los números aleatorios a los tiempos entre llegadas y de servicio se exponen en las siguientes tablas:
Tabla 7.5 Asignación de los NA1 según la distribución de los tiempos entre llegadas (tabla 7.3)
Tiempo p(x) P(x) Asignación de
NA 1 0,4 0,4 0 392 0,35 0,75 40 743 0,25 1 75 100
Tabla 7.6 Asignación de los NA2 según la distribución de los tiempos de servicio
(tabla 7.4)
Para realizar la simulación aplicaremos el Método del Próximo Evento, cuyo algoritmo está esbozado en un diagrama de flujo (Figura 7.5). Este método consiste en mantener una lista de eventos y en cada iteración (línea de simulación) se selecciona el evento más próximo a ocurrir.
Tiempo p(x) P(x) Asignación
de NA 1 0,2 0,2 0 192 0,15 0,35 20 343 0,35 0,7 35 694 0,3 1 70 100
Simulación de Sistemas - 337
122
Además de los eventos E1 y E2 ya descritos para la situación actual, consideraremos el evento fin de la simulación, E3. Las variables utilizadas se describen en la siguiente tabla: Tabla 7.7 Descripción de las variables empleadas (*) Su valor se determina, generando un número aleatorio, uniforme en (0,1) y empleando las asignaciones presentadas en las tablas 5.5 y 7.6 según corresponda a tiempo entre llegadas o salida.
Variable Descripción
Reloj
Lleva el conteo del tiempo
LLE
Próxima llegada programada (*)
SAL
Próxima salida programada (*)
COLA
Tamaño de la cola
Servidor Podrá indicar: libre u ocupado
Lista de eventos
Está constituida por todos los eventos generados, ordenados crecientemente por tiempo. En ella se almacena el tipo de evento y el tiempo asignado (LLE ó SAL) según sea el tipo; si se trata del evento final se le asigna el tiempo que durará la simulación. El evento que tenga el menor tiempo de reloj asignado, será el próximo a ocurrir.
Simulación de Sistemas - 337
123
Iniciar variables de estado, evento inicial, evento final, lista de
eventos
Próximo Evento ?
Reloj = Reloj + SAL Reloj = Reloj + LLE
Servidor libre
?
Servidor ocupado COLA = COLA + 1
Generar E2
Generar E1
COLA >0?
COLA = COLA - 1
Servidor libre
Generar E2
Si No
Cola =0
Si
Servidor ocupado
No
Figura 7.5. Diagrama de flujo, Método del Próximo Evento, para un servidor
Salida (E2)Llegada (E1)
Terminar
Fin (E3)
Actualizar Lista de eventos
Simulación de Sistemas - 337
124
A continuación se muestra la tabla de la simulación resultante al aplicar el método.
Reloj Tipo de evento Núm.
de cte. Estado servidor
Long. cola NA1
Prox. Lleg. NA2
Prox. Sal. Lista de eventos
0 Inicial ____ libre 0 ____
____ ____ ____ E3/27 1 Llegada 1 ocupado 0 0,660721 3 0,56794769 2 E2/2;E1/3; E3/27 2 Salida 1 libre 0 E1/3;E3/27 3 Llegada 2 ocupado 0 0,311413 2 0,6791305 2 E2/5; E1/5;E3/27 5 Salida 2 libre 0 0,110182 1 E1/5;E3/27 5 Llegada 3 ocupado 0 0,768063983 4 0,4103644 2 E2/7;E1/9;E3/27 7 Salida 3 libre 0 E1/9;E3/27 9 Llegada 4 ocupado 0 0,114317289 1 0,807430103 3 E1/10;E2/12;E3/27
10 Llegada 5 ocupado 1 0,873871 4 E2/12;E1/14;E3/27 12 Salida 4 ocupado 0 0,32696152 1 E2/13;E1/14;E3/27 13 Salida 5 libre 0 E1/14;E3/27 14 Llegada 6 ocupado 0 0,065577 1 0,90555342 3 E1/15;E2/17;E3/27 15 Llegada 7 ocupado 1 0,965361 4 E2/17;E1/19;E3/27 17 Salida 6 ocupado 0 0,89005008 3 E1/19;E2/20;E3/27 19 Llegada 8 ocupado 1 0,665767448 3 E2/20;E1/22;E3/27 20 Salida 7 ocupado 0 0,31608744 1 E2/21;E1/22;E3/27 21 Salida 8 libre 0 E1/22; E3/27 22 Llegada 9 ocupado 0 0,45019032 3 0,633220502 2 E2/24;E1/25;E3/27 24 Salida 9 libre 0 1 E1/25;E3/27 25 Llegada 10 ocupado 0 0,64901154 3 0,55763054 2 E2/27;E1/28;E3/27 27 Salida 10 libre 0 E1/28
27 Fin E1/28
Tabla 7.8 Simulación
Un evento resaltado en negrilla, en la lista de eventos, corresponde al próximo evento a ocurrir. Gráficamente se puede representar la simulación señalando las ocurrencias de las llegadas y las salidas, a través de los 27 minutos, como se muestra en la figura 7.6.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Figura 7.6 Gráfico de las ocurrencias de llegadas y salidas
Llegada Salida
minutos
Simulación de Sistemas - 337
125
Una vez obtenida la simulación se puede recolectar información sobre las medidas de efectividad de este sistema de colas, tales como los tiempos de espera, el número de elementos en la cola, el número de elementos en todo el sistema, etc.
Atención:
El algoritmo que se aplicó es específico para el caso en que ocurren tres tipos de evento (tomando en cuenta el evento fin de la simulación). Al aplicar el método para un mayor número de eventos, se debe ampliar la sección de determinación del próximo evento, señalada con , según sea la situación.
• Un ejercicio interesante es realizar una simulación de colas, con servidores
paralelos y ocurrencia de eventos de acuerdo a ciertas distribuciones de probabilidades, empleando estructuras de datos tipo cola. El programa emitiría reportes de estadísticas de la simulación: conteo de las colas, ocupación de los servidores, número de llegadas en un período de tiempo, etc.
Selección de Lenguajes de simulación.
En los ejemplos analizados hemos visto que ha sido fácil elaborar una simulación. En situaciones más complejas, en donde se maneja un mayor número de eventos, resulta más difícil de hacerlo. Cualquier simulación puede realizarse empleando lenguajes de programación de propósito general, como: C, Pascal y Fortran, los cuales proveen facilidades para elaborar instrucciones relacionadas con: condiciones, asignaciones, bucles (loops), secuencias de acciones y procesos. Además poseen funciones para la generación de números seudoaleatorios. Comercialmente se han desarrollado muchos paquetes de software. Dentro de la gama de software de simulación existente se pueden distinguir dos tipos: lenguajes de simulación y simuladores. Cabe destacar que cuando no se posee un software especializado, un recurso muy útil para hacer simulaciones numéricas es la hoja de cálculo(1). Las ventajas que posee la hoja de cálculo son: simplicidad de manejo, facilidad de inclusión de funciones matemáticas, lógicas, estadísticas y otras. Otra de las ventajas que ofrece esta (1) herramienta es la de facilitar la visualización integral de la data y resultados. Existen además complementos para la hoja de cálculo que simplifican la tarea de simulación. Una de los problemas que presenta la hoja de cálculo es cuando se manejan muchos eventos, en algunos
(1)Cuando mencionemos la hoja de cálculo siempre nos referiremos a la Microsoft Excel™, que es la más usada.
Ejercicios y actividades propuestas
Simulación de Sistemas - 337
126
casos se dificulta llevar el control de los sucesos.
Algunos autores han determinado ciertas funciones que requiere la simulación discreta, que hacen la diferencia entre un lenguaje de simulación y uno de propósito general, las cuales son:
• Generar números aleatorios. • Variar el tiempo hasta la ocurrencia del siguiente evento. • Generar variables aleatorias.
• Representar gráficamente el modelo y la simulación • Realizar análisis estadístico sobre datos registrados. • Construir salidas en formatos determinados. • Detectar inconsistencias y errores.
Cuando se emplea un lenguaje de simulación algunas cosas que debíamos tomar en cuenta para el modelaje del problema resultan transparentes para el diseñador Lenguajes de simulación Son paquetes de software desarrollados con el propósito de facilitar la realización de la simulación, en general suelen proveer facilidades para la modelización. Un lenguaje de este tipo proporcionará mecanismos de reloj, métodos para llevar a cabo la ocurrencia de eventos dadas las distribuciones de probabilidades, generadores de números aleatorios, herramientas para recolección y manipulación de la data, análisis estadístico y herramientas para la validación del modelo. Algunos lenguajes de simulación son:
• GPSS • GASP • R • SIMAN • SIMSCRIPT • SIMULA • SIMULINK • SLAN • TOOL KIT • VENSIM
Simulación de Sistemas - 337
127
Los lenguajes disponibles en el mercado, para simulación discreta pueden ser de dos categorías:
1- Orientados a eventos 2- Orientados a procesos
Lenguajes orientados a eventos Para operar con estos lenguajes, el usuario debe detallar los eventos y todas las acciones a seguir con las ocurrencias de cada uno de ellos. El lenguaje permite incluir la data sobre distribuciones de probabilidad, realizan el muestreo automático y generan medidas estadísticas. Lenguajes orientados a procesos Se basan en el concepto de la caja negra, con el efecto de simplificar los detalles de cálculo. Operan con bloques o nodos que se vinculan entre sí formando una red. Si empleamos un lenguaje de simulación de esta categoría para resolver el problema planteado en el ejemplo 7.2, tendríamos que considerar un bloque para representar los clientes que provienen de una fuente infinita, un bloque para la cola y otro para el servidor. Simuladores
Los simuladores son paquetes de software que se desarrollan para tratar situaciones específicas. Son de fácil uso, pero limitados a usos determinados. Muchos de ellos se construyen a partir de lenguajes de simulación, son ejemplos de ellos los siguientes:
• SIMFACTORY: Se utiliza para la simulación de sistemas de
manufacturación • LANNET: Se utiliza para simulación de redes de área local • NETWORK: Se emplea en la simulación de redes de
comunicación • XCELL: Sistemas de proceso
Simulación de Sistemas - 337
128
Caso de estudio: Simulación de un problema de colas, en una estación de cobro de peaje
Simulación de un sistema de colas en una estación de cobro de peaje (ejemplo
15.3, expuesto en el capítulo 15 de Mathur y Solow, el cual ha sido incluido en las lecturas complementarias)
El organismo de tránsito encargado del mantenimiento de la Autopista de Nueva Jersey, desea mejorar el flujo de tráfico a través de sus casetas de cobro. Uno de los administradores ha sugerido que se favorezca el paso de vehículos teniendo en servicio casetas especiales para automóviles que lleven dos o más pasajeros. A los canales que conducen a las casetas especiales se les denomina carriles rápidos. Actualmente la estación posee 3 casetas para el cobro de peaje, la comisión ha seleccionado una de ellas para evaluar el impacto de la propuesta. Como analista de operaciones Ud. ha sido designado para determinar el impacto que tendría en el flujo actual el hecho de convertir una de las tres casetas en atención del carril rápido. El esquema de la situación se muestra en la figura 7.7. La comisión luego de estudiar la situación y recolectar datos sobre el número de vehículos, la frecuencia y el número de personas en la cola y otros hechos, ha determinado que la caseta de cobro seleccionada actualmente atiende 20 vehículos por minuto, durante las horas pico. De estos vehículos sólo 1/3 lleva dos o más pasajeros. Los datos también muestran que el tiempo entre llegadas de dos vehículos pueden ser aproximados por una distribución exponencial, con una tasa promedio λ = 20 vehículos por minuto. Los datos registrados además indican que las casetas que atienden al tráfico en general requieren un tiempo de atención por vehículo que obedece a la siguiente distribución: Tabla 7.9
Tiempo (segundos)
Probabilidad
3 - 8 0,6 8 -13 0,3
13 -16 0,1
Simulación de Sistemas - 337
129
Figura 7.7
No existen datos similares para la caseta rápida propuesta. Además no se espera que el tiempo de servicio en ésta siga la distribución anterior debido a que dicha distribución pertenece a automóviles, camiones y otros tipos de vehículos, mientras que la caseta rápida es sólo para la atención de automóviles. De la experiencia con casetas rápidas se estima que el tiempo de servicio puede ser estimado bastante bien por una distribución exponencial, con una tasa media de 10 autos por minuto. Sobre la base de la situación planteada desarrolle un modelo de simulación, a partir del cual se podrá emitir estimaciones del tiempo de espera por vehículo, el número esperado de vehículos y la fracción de tiempo que tarda el empleado en atender a un vehículo. Modelo de Simulación
Condiciones iniciales: Número de vehículos en el sistema, al iniciarse la simulación, por ejemplo hay un vehículo en la caseta rápida y uno en cada caseta general. Como la simulación se hará en un período lo suficientemente largo, las condiciones iniciales no deberán influir en los resultados.
Datos Determinísticos: Duración de la simulación, número de casetas( 2 puestos con idéntica distribución y uno rápido).
Simulación de Sistemas - 337
130
Datos Estocásticos: Llegadas de los vehículos(entre llegadas con distribución exponencial, λ = 20 vehículos/minuto). Servicio según el tipo de caseta, como 1/3 de los vehículos llevan dos personas, el 33% podrá circular por el carril rápido. El tiempo de servicio en canales generales (distribución empírica dada). El tiempo de servicio en la caseta rápida (exponencial, λ = 10 vehículos/minuto). Generación de eventos: Para la generación de eventos se deberá contar con un generador de números aleatorios uniformes (0,1)
Los eventos son: • Duración del tiempo entre llegadas de los vehículos • Número de personas en el vehículo • Duración del servicio en las dos casetas generales • Duración del servicio en la caseta rápida • Fin de la simulación ( será predeterminado) La formación de la cola, surge a la llegada de un vehículo cuando la estación está ocupada y puede haber otros vehículos en espera, así las colas son: • Cola en los canales generales ( 2 canales) si están ocupados • Cola en canal rápido, si está ocupado
Para ver en detalle la realización de la simulación, se recomienda leer en la selección de lecturas: Simulación por computadora: Aplicaciones y Análisis Estadístico de Mathur K. y Solow D., el ejemplo 15.3. En la solución del mismo se aplica primero una simulación, empleando un esquema de contabilidad manual y luego se emplea el paquete de simulación SIMAN. Al final se analizan los resultados.
Atención:
Gran parte de los problemas que son objeto de estudio en simulación están relacionados con sistemas de colas. Esto no significa que sólo trataremos problemas de este tipo.
Una vez elaborado el modelo de simulación es preciso considerar aspectos como validar el modelo, cuál es el tamaño de la simulación y cuál el número de corridas a realizar. Lo que sigue corresponde analizar el comportamiento del sistema a través
Simulación de Sistemas - 337
131
de los resultados obtenidos en la simulación y aplicar correctivos si acaso fuese necesario en pro del buen funcionamiento del sistema.
Validación
Una de las preguntas que se hacen quienes desarrollan modelos de simulación es cuántas simulaciones hacer para obtener resultados confiables?, esto significa que los resultados obtenidos puedan ayudar a inferir sobre el comportamiento real del sistema. Validar un modelo consiste en comprobar las hipótesis planteadas al modelar; al respecto cabe hacerse la siguiente pregunta ¿el modelo se comporta como se esperaba? Diseño de experimentos Otra pregunta frecuente es cuál debe ser el tamaño de la simulación, recordando el ejemplo de las pólizas, ¿cuántas visitas simular?, en el ejemplo de las colas ¿cuántos minutos simular?. El resultado de las variables en el modelo tiende a estabilizarse a medida que transcurre el tiempo de la simulación o el número de intentos, es entonces cuando los valores de las variables serán confiables; en este caso se dice que los resultados presentan una condición de equilibrio. El diseño del experimento se hace de acuerdo a los objetivos del estudio. En el se consideran esencialmente los siguientes aspectos: 1. Longitud de las corridas
2. Longitud del periodo de calentamiento, si es necesario.
3. Numero de replicaciones independientes (réplicas)
Otro de los aspectos no menos importante, es la selección de las condiciones iniciales. Una inadecuada selección de las condiciones iniciales podría distorsionar los resultados de la simulación e incrementar el valor de la varianza. Longitud de las corridas: En general el tamaño de la corrida depende de la eficacia del generador de números aleatorios uniformes (0,1) y de las condiciones iniciales establecidas.
Cálculo de réplicas: Algunos autores recomiendan que el número de réplicas sea de 3 a 10. Para realizar el análisis estadístico es necesario calcular los estimadores de media, varianza e intervalo de confianza de cada réplica.
Simulación de Sistemas - 337
132
Análisis de los resultados Una vez efectuadas las corridas planificadas se procede analizar e interpretar los resultados. Si el estudio fue bien planificado, se habrá planteado un conjunto bien definido de preguntas y el análisis tratará de responderlas. Es muy importante también, cuidar la validez estadística de los resultados. Antes de implantar las soluciones en el sistema, algunos autores consideran conveniente experimentar con algunas variables del modelo, con el fin de hallar mejores soluciones, esto se asocia al análisis de sensibilidad de la solución.
7.1 A un supermercado llegan los clientes, estimándose que el tiempo entre llegadas sigue una distribución uniforme (1, 3) minutos. Estos emplean en promedio 1 minuto por la compra de cada artículo; el número de artículos adquiridos sigue una distribución exponencial, con una tasa de 1/12. Se dispone de seis cajas estándar que admiten a los clientes, cualquiera sea el número de artículos a adquirir, dos cajas rápidas que admiten compras de hasta 10 artículos y una caja especial para minusválidos y ancianos. El número promedio de clientes que utilizan la caja especial es del 4%. Sin tomar en cuenta el tiempo invertido en la cola, cada cliente que pasa por una caja estándar emplea 6 segundos por artículo seleccionado, a través de la caja rápida, 5 segundos; cuando se trata de un minusválido se emplean 2 minutos por artículo. Sobre la base de la situación planteada, determine cuáles son los eventos a considerar y las distribuciones de probabilidades correspondientes.
7.2 Una papelería emplea tres cajeras para servir a sus clientes, los cuales llegan de acuerdo con un proceso de Poisson, con una tasa media de dos por minuto. Si un cliente encuentra todas las cajas ocupadas, se ubica al final de una fila a la que dan servicio todas las cajeras; es decir, no hay colas frente a cada caja, sino que esperan formados hasta que una cajera se desocupa. El tiempo para realizar las transacciones entre la cajera y el cliente tiene una distribución exponencial con media de tres por minutos. Con base a lo anterior obtenga los valores de las siguientes medidas de efectividad:
a) Promedio de Clientes en el sistema
b) Promedio de clientes en la cola
Ejercicios de autoevaluación
Simulación de Sistemas - 337
133
c) Tiempo promedio en la cola
d) Tiempo promedio en el sistema
e) Fracción de tiempo en que las 3 cajeras permanecen ociosas
f) Fracción de tiempo en que las 3 cajeras estarán ocupadas.
7.1 Eventos:
Evento Distribución Cliente llega al supermercado.
Tiempo entre llegadas U(1,3)
Cliente escoge un número de artículos.
Exponencial negativa con parámetro 1/12 (*)
Cliente escoge una caja estándar o rápida. Hay 6 cajas estándar y 2 rápidas. (+). Sólo podrá unirse a la cola rápida si tiene un número de artículos entre 1 y 10.
96/100
Cliente escoge una caja especial .Hay 2 cajas especiales. (+)
4/100
Cliente ingresa en alguna cola (hay 10 colas) (+)
Tiempo transcurrido antes de unirse a la cola: Se corresponde con el número de artículos, obtenido en (*), en minutos.
Cliente es atendido en la caja correspondiente (salida), hay cajas 10 cajas
Tiempo de atención: Según la caja y el número de artículos escogidos(*). Caja estándar (6 segundos por artículo). Caja rápida(5 segundos por artículo). Caja especial ( 2 minutos por artículo)
(+) Se podrá suponer que el cliente se unirá a la cola que tenga menos personas, según la categoría que le corresponda
7.2 La situación presentada se ajusta perfectamente a un modelo abierto de colas
de Poisson, con 3 puestos de servicio. Este modelo tiene una solución analítica, es por ello que para obtener las medidas solicitadas no se requiere realizar una simulación.
Respuestas a los ejercicios de autoevaluación
Simulación de Sistemas - 337
134
Los resultados son:
a)
L = 0,68060395 clientes en el sistema
b)
Lq = 0,009291521
c)
Wq = 0,004645761 minutos
d)
W = 0,337979094 minutos
µλ
λµµλλµ
+
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
−−
⎟⎟⎠
⎞⎜⎜⎝
⎛
= Poss
L 2
2
)()!1(
1
1
00 !1
1!
−
−
=
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡⎟⎠
⎞⎜⎝
⎛
+
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
−
⎟⎠
⎞⎜⎝
⎛
= ∑s
n
ns
ns
sP µ
λ
µλ
µλ
02)()!1(P
ssLq
s
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
−−
⎟⎟⎠
⎞⎜⎜⎝
⎛
=λµ
µλλµ
0PWq C=
2)()!1( λµµλµ
−−
⎟⎠
⎞⎜⎝
⎛
=ss
C
s
µ1WqW +=
Simulación de Sistemas - 337
135
e) Es la fracción de tiempo en que las tres cajeras están
desocupadas y equivale a calcular Po
Po = 0,512195122, esto significa que aproximadamente el 52% del
tiempo las cajeras estarán libres.
f) Fracción de tiempo en que las 3 cajeras estarán ocupadas es
F = 1- Po – P1 – P2
Como:
Entonces F = 0,03252033, esto significa que aproximadamente el
3,25% del tiempo las 3 cajeras estarán ocupadas.
La simulación multivariada es aquella en la que las variables aleatorias son vectores, por lo cual las distribuciones de probabilidad son multivariadas. En las últimas décadas se han desarrollado técnicas para generar muestras con estas características. Al estudiante interesado en ampliar sus conocimientos en este campo, se le recomienda indagar sobre el tema y sus aplicaciones.
Consulta en la Web:
Se recomienda consultar la siguiente dirección, la cual ofrece un resumen del proceso de simulación http://www.fing.edu.uy/inco/cursos/io/archivos/teorico/simulac.pdf
V. Bibliografía
Ampliación de conocimientos
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
>⎟⎟⎠
⎞⎜⎜⎝
⎛
≤≤⎟⎟⎠
⎞⎜⎜⎝
⎛
=
− snsiPss
snsiPn
P
osn
n
o
n
n
!
0!
1
µλ
µλ
Simulación de Sistemas - 337
136
Azarang, M., García, E. (1996). Simulación y Análisis de Modelos Estocásticos.
México. Mc. Graw Hill. Burden, R., Faires, J. (1985). Análisis Numérico. México. Iberoamericana. Chapra, S., Canale, R. (1990). Método numéricos para ingenieros. México. Mc
Graw Hill. Eppen, G., Gould, F., Schmidt, C., Moore, J., Weatherford, L. (2000). Investigación
de Operaciones en la Ciencia Administrativa. México. Pearson Educación. García, J., (1983). Matemáticas Financieras con Ecuaciones de Diferencia Finita.
Barcelona, España. Planeta. Gerald, C., Wheatley, P. (2000). Análisis Numérico con aplicaciones. México.
Pearson Educación. Gutiérrez, M., (1983). Simulación de Sistemas. Caracas. UNA. Mathur, K.,Solow, D. (1996). Investigación de Operaciones. México. Prentice Hall. Nakamura, S.,(1992). Métodos Numéricos Aplicados con Software. México. Prentice
Hall. Phillips, D., Ravindran, A., Solberg, J. (1976). Operations research Principles and
Practice. Canada. Wiley and Sons. Ríos, I., Ríos I., Martín, J. (2000). Simulación, Métodos y aplicaciones. México.
Alfaomega Grupo Editor. Ross, S. M.(1990). Simulación. México. Prentice Hall
Simulación de Sistemas - 337
137
Taha, Hamdy A. (1998) Investigación de Operaciones, una introducción. 7ma edición. México. Pearson Educación.
The Open University. (1971). Diferencias Finitas. Cali, Colombia. Mc Graw Hill. The Open University. (1971). Ecuaciones Diferenciales I. Cali, Colombia. Mc Graw
Hill. Winston W., (2005). Investigación de Operaciones, Aplicaciones y Algoritmos.
México. Thomson. Zill, D. (1982). Ecuaciones Diferenciales con Aplicaciones. EUA. Iberoamericana.
Recommended