una guía simulación de sistemas 337 mia

137
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

Upload: eduardo-a-hernandez

Post on 01-Jul-2015

793 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: UNA Guía Simulación de Sistemas 337 MIA

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

Page 2: UNA Guía Simulación de Sistemas 337 MIA

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

Page 3: UNA Guía Simulación de Sistemas 337 MIA

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

Page 4: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 5: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 6: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 7: UNA Guía Simulación de Sistemas 337 MIA

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

Page 8: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 9: UNA Guía Simulación de Sistemas 337 MIA

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

Page 10: UNA Guía Simulación de Sistemas 337 MIA

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

Page 11: UNA Guía Simulación de Sistemas 337 MIA

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

Page 12: UNA Guía Simulación de Sistemas 337 MIA

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

Page 13: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 14: UNA Guía Simulación de Sistemas 337 MIA

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

Page 15: UNA Guía Simulación de Sistemas 337 MIA

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

Page 16: UNA Guía Simulación de Sistemas 337 MIA

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

Page 17: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 18: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 19: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 20: UNA Guía Simulación de Sistemas 337 MIA

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:

Page 21: UNA Guía Simulación de Sistemas 337 MIA

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

Page 22: UNA Guía Simulación de Sistemas 337 MIA

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

Page 23: UNA Guía Simulación de Sistemas 337 MIA

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

Page 24: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 25: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 26: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 27: UNA Guía Simulación de Sistemas 337 MIA

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

Page 28: UNA Guía Simulación de Sistemas 337 MIA

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

Page 29: UNA Guía Simulación de Sistemas 337 MIA

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

Page 30: UNA Guía Simulación de Sistemas 337 MIA

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

Page 31: UNA Guía Simulación de Sistemas 337 MIA

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

Page 32: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 33: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 34: UNA Guía Simulación de Sistemas 337 MIA

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:

Page 35: UNA Guía Simulación de Sistemas 337 MIA

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

Page 36: UNA Guía Simulación de Sistemas 337 MIA

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:

Page 37: UNA Guía Simulación de Sistemas 337 MIA

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:

Page 38: UNA Guía Simulación de Sistemas 337 MIA

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

Page 39: UNA Guía Simulación de Sistemas 337 MIA

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

Page 40: UNA Guía Simulación de Sistemas 337 MIA

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

Page 41: UNA Guía Simulación de Sistemas 337 MIA

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

Page 42: UNA Guía Simulación de Sistemas 337 MIA

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

Page 43: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 44: UNA Guía Simulación de Sistemas 337 MIA

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

Page 45: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 46: UNA Guía Simulación de Sistemas 337 MIA

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

Page 47: UNA Guía Simulación de Sistemas 337 MIA

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

Page 48: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 49: UNA Guía Simulación de Sistemas 337 MIA

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

Page 50: UNA Guía Simulación de Sistemas 337 MIA

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

Page 51: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 52: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 53: UNA Guía Simulación de Sistemas 337 MIA

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

Page 54: UNA Guía Simulación de Sistemas 337 MIA

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

Page 55: UNA Guía Simulación de Sistemas 337 MIA

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

Page 56: UNA Guía Simulación de Sistemas 337 MIA

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

Page 57: UNA Guía Simulación de Sistemas 337 MIA

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

Page 58: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 59: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 60: UNA Guía Simulación de Sistemas 337 MIA

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

Page 61: UNA Guía Simulación de Sistemas 337 MIA

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 = α

Page 62: UNA Guía Simulación de Sistemas 337 MIA

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 −+−+= +++++

Page 63: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 64: UNA Guía Simulación de Sistemas 337 MIA

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

Page 65: UNA Guía Simulación de Sistemas 337 MIA

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

Page 66: UNA Guía Simulación de Sistemas 337 MIA

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

Page 67: UNA Guía Simulación de Sistemas 337 MIA

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

Page 68: UNA Guía Simulación de Sistemas 337 MIA

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

Page 69: UNA Guía Simulación de Sistemas 337 MIA

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

Page 70: UNA Guía Simulación de Sistemas 337 MIA

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

Page 71: UNA Guía Simulación de Sistemas 337 MIA

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

Page 72: UNA Guía Simulación de Sistemas 337 MIA

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

Page 73: UNA Guía Simulación de Sistemas 337 MIA

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

Page 74: UNA Guía Simulación de Sistemas 337 MIA

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

Page 75: UNA Guía Simulación de Sistemas 337 MIA

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

Page 76: UNA Guía Simulación de Sistemas 337 MIA

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

Page 77: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 78: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 79: UNA Guía Simulación de Sistemas 337 MIA

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

Page 80: UNA Guía Simulación de Sistemas 337 MIA

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

Page 81: UNA Guía Simulación de Sistemas 337 MIA

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

Page 82: UNA Guía Simulación de Sistemas 337 MIA

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:

Page 83: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 84: UNA Guía Simulación de Sistemas 337 MIA

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

Page 85: UNA Guía Simulación de Sistemas 337 MIA

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

Page 86: UNA Guía Simulación de Sistemas 337 MIA

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

Page 87: UNA Guía Simulación de Sistemas 337 MIA

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

Page 88: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 89: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 90: UNA Guía Simulación de Sistemas 337 MIA

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

Page 91: UNA Guía Simulación de Sistemas 337 MIA

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

Page 92: UNA Guía Simulación de Sistemas 337 MIA

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

Page 93: UNA Guía Simulación de Sistemas 337 MIA

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

Page 94: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 95: UNA Guía Simulación de Sistemas 337 MIA

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 ()

Page 96: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 97: UNA Guía Simulación de Sistemas 337 MIA

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)

Page 98: UNA Guía Simulación de Sistemas 337 MIA

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:

Page 99: UNA Guía Simulación de Sistemas 337 MIA

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

Page 100: UNA Guía Simulación de Sistemas 337 MIA

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

Page 101: UNA Guía Simulación de Sistemas 337 MIA

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

Page 102: UNA Guía Simulación de Sistemas 337 MIA

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

Page 103: UNA Guía Simulación de Sistemas 337 MIA

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

Page 104: UNA Guía Simulación de Sistemas 337 MIA

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

Page 105: UNA Guía Simulación de Sistemas 337 MIA

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

Page 106: UNA Guía Simulación de Sistemas 337 MIA

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

Page 107: UNA Guía Simulación de Sistemas 337 MIA

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

Page 108: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 109: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 110: UNA Guía Simulación de Sistemas 337 MIA

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?

Page 111: UNA Guía Simulación de Sistemas 337 MIA

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

Page 112: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 113: UNA Guía Simulación de Sistemas 337 MIA

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

Page 114: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 115: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 116: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 117: UNA Guía Simulación de Sistemas 337 MIA

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

Page 118: UNA Guía Simulación de Sistemas 337 MIA

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

Page 119: UNA Guía Simulación de Sistemas 337 MIA

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

Page 120: UNA Guía Simulación de Sistemas 337 MIA

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

Page 121: UNA Guía Simulación de Sistemas 337 MIA

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

Page 122: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 123: UNA Guía Simulación de Sistemas 337 MIA

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

Page 124: UNA Guía Simulación de Sistemas 337 MIA

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

Page 125: UNA Guía Simulación de Sistemas 337 MIA

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

Page 126: UNA Guía Simulación de Sistemas 337 MIA

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

Page 127: UNA Guía Simulación de Sistemas 337 MIA

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

Page 128: UNA Guía Simulación de Sistemas 337 MIA

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

Page 129: UNA Guía Simulación de Sistemas 337 MIA

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).

Page 130: UNA Guía Simulación de Sistemas 337 MIA

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

Page 131: UNA Guía Simulación de Sistemas 337 MIA

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.

Page 132: UNA Guía Simulación de Sistemas 337 MIA

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

Page 133: UNA Guía Simulación de Sistemas 337 MIA

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

Page 134: UNA Guía Simulación de Sistemas 337 MIA

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 +=

Page 135: UNA Guía Simulación de Sistemas 337 MIA

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

µλ

µλ

Page 136: UNA Guía Simulación de Sistemas 337 MIA

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

Page 137: UNA Guía Simulación de Sistemas 337 MIA

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.