47
Instituto Tecnológico de Acapulco MODELADO VIRTUAL DR. EDUARDO DE LA CRUZ GÁMEZ MODELO M/M/1 ELABORADO POR: GALEANA ESCOBAR SERGIO GUADALUPE 11320550 PANTOJA MIRANDA ELIZABETH 11320625

Practica MM1

Embed Size (px)

DESCRIPTION

Modelado virtual

Citation preview

Page 1: Practica MM1

Instituto Tecnológico de Acapulco

MODELADO VIRTUAL

DR. EDUARDO DE LA CRUZ GÁMEZ

MODELO M/M/1

ELABORADO POR:

GALEANA ESCOBAR SERGIO GUADALUPE 11320550PANTOJA MIRANDA ELIZABETH 11320625

Acapulco Gro., a 15 de julio del 2015

CONTENIDO

INTRODUCCIÓN.............................................................................................................................2

Page 2: Practica MM1

OBJETIVOS DE APRENDIZAJE..................................................................................................3

INSTRUMENTACIÓN.....................................................................................................................3

MARCO TEÓRICO..........................................................................................................................4

DESARROLLO................................................................................................................................6

Editor de Nodos...........................................................................................................................9

La creación de la Red...............................................................................................................16

Coleccionando resultados con el editor de pruebas.............................................................21

Visualizando Resultados..........................................................................................................31

RESULTADOS...............................................................................................................................38

CONCLUSIÓN...............................................................................................................................40

BIBLIOGRAFÍA..............................................................................................................................41

INTRODUCCIÓN

1

Page 3: Practica MM1

Una cola M/M/1 se compone de una cola (FIFO) con los paquetes que llegan al azar de acuerdo con un Proceso de Poisson, y un procesador (denominado servidor) que recupera los paquetes del buffer en una determinada tasa de servicio.El rendimiento de un sistema de colas M/M/1 depende de los siguientes parámetros:

Paquete de tasa de llegada. Paquete de tamaño. Capacidad de servicio.

Si el efecto combinado de la tasa media de llegada de paquetes y el tamaño del paquete supera el promedio de servicios de capacidad, el tamaño de la cola crecerá indefinidamente.

El sistema de colas M/M/1 se muestra en la siguiente figura:

λ, 1/μ, y C son representativos de la tasa media de llegada de paquetes, el tamaño del paquete de medias (requisito de servicio), y capacidad de servicio, respectivamente.

OBJETIVOS DE APRENDIZAJE

2

Page 4: Practica MM1

En esta práctica, usted explorará el Editor de Nodos y cómo se puede utilizar para crear una Cola M/M/1. También.

• Utilice el Editor de la sonda para recolectar diferentes tipos de estadística.

• Aprenda cómo aplicar filtros a los datos recogidos durante simulación.

• Analizar matemáticamente los datos estadísticos de la simulación.

INSTRUMENTACIÓN

MATERIAL:

Internet para la búsqueda de información, bibliografía propuesta

EQUIPO:

Equipo de Computo portátil

HERRAMIENTAS:

Software de modelado y simulación de redes (Opnet versión profesional)

MARCO TEÓRICO

3

Page 5: Practica MM1

TEORÍA DE COLAS O LÍNEAS DE ESPERA

La teoría de colas es el estudio matemático del comportamiento de líneas de espera. Esta se presenta, cuando los “clientes” llegan a un “lugar” demandando un servicio a un “servidor”, el cual tiene una cierta capacidad de atención. Si el servidor no está disponible inmediatamente y el cliente decide esperar, entonces se forma la línea de espera.La teoría de colas estudia modelos matemáticos que describen sistemas de línea de espera con diferentes características. Los modelos nos ayudan a encontrar un equilibrio entre los costos del sistema y los tiempos promedio de la línea de espera para un sistema dado.

La teoría de líneas de espera se origino en los trabajos de A. K. Erlang que principiaron en 1909. Experimento con un problema relacionado con la congestión del tráfico telefónico. Durante los periodos ocupados, los que pretendan hacer llamadas sufran algunas demoras, porque las operadoras eran incapaces de atender las llamadas con la rapidez con que se hacían. El problema original que trato Erlang fue el cálculo de esa demora para una operadora, y en 1917 los resultados se extendieron al caso de varias operadoras. En ese año Erlang publicó su obra muy conocida, Solutions of Some Problems in the Theory of Probabilities of Significance in Automatic Telephone Exchanges. Los adelantos en el campo del tráfico telefónico continuaron generalmente en el sentido iniciado por Erlang, y las publicaciones principales fueron las de Molina en 1927 y de Thornton D. Fry en 1928, pero solo fue hasta el fin de la Segunda Guerra Mundial cuando esos trabajos se extendieron a otros problemas relacionados con líneas de espera.

Los clientes cuando llegan y hacen cola, el objetivo de este proceso es determinar cuántos clientes llegan en un determinado lapso de tiempo, a esto se le llama nacimiento puro. La mayor parte de los modelos elementales de colas suponen que las entradas (llegada de clientes) y las salidas (clientes que se van) del sistema ocurren de acuerdo al proceso de nacimiento y muerte. Este importante proceso de teoría de probabilidad tiene aplicaciones en varias áreas. En la teoría de colas, el término nacimiento se refiere a llegada de un nuevo cliente al sistema de colas y el término muerte se refiere a la salida del cliente servido.

La Teoría de Colas es una formulación matemática para la optimización de sistemas en que interactúan dos procesos normalmente aleatorios: un proceso de “llegada de clientes” y un proceso de “servicio a los clientes”, en los que existen fenómenos de “acumulación de clientes en espera del servicio”, y donde existen reglas definidas (prioridades) para la “prestación del servicio”.

La Teoría de Colas es una aproximación matemática potente para la optimización del problema, y tiene aplicaciones (crecientes) en sistemas donde las llegadas y el servicio admiten una representación matemática (probabilística); en problemas que no admiten esta representación existen otras técnicas.

Tipos de sistemas

4

Page 6: Practica MM1

Un sistema de líneas de espera es un conjunto de clientes, un conjunto de servidores, y un orden en el cual los clientes llegan y son atendidos. Un sistema de líneas de espera es un proceso de nacimiento-muerte con una población formada por clientes en espera del servicio o que están en servicio; una muerte ocurre cuando un cliente abandona la instalación. El estado del sistema es el número de clientes en la instalación.

Figura. Tipos de sistemas.

SISTEMAS M/M/1

Para este sistema se tienen las siguientes características:

Los clientes son servidos con una política FIFO y cada arribo espera a ser servido sin importar la longitud de la línea o cola.

Los arribos son independientes de arribos anteriores, pero el promedio de arribos, no cambia con el tiempo.

Los arribos son descritos mediante la distribución de probabilidad de Poisson y proceden de una población muy grande o infinita.

Los tiempos de servicio varían de cliente a cliente y son independientes entre sí, pero su tasa promedio es conocida.

Los tiempos de servicio se representan mediante la distribución de probabilidad exponencial negativa.

La tasa de servicio es más rápida que la tasa de arribo.

Fórmulas para SISTEMAS M/M/1

5

Page 7: Practica MM1

DESARROLLO

1.- Abrir el programa OPNET.

6

λ= Número promedio de arribos por período de tiempoμ= Número promedio de gente o cosas servidos por período de tiempon= número de unidades en el sistema

LS=Número promedio de unidades (clientes) en el sistema LS=λμ− λ

ρ=Factor de utilización del sistema =λμ

W S= Tiempo promedio que una unidad permanece en el sistema= ( tiempo de espera + tiempo de servicio)

W S=1μ− λ

Lq=Número promedio de unidades en la cola= λ2

μ (μ−λ )=ρ∗LS

W q= Tiempo promedio que una unidad espera en la cola= λμ (μ−λ )

=ρ∗W S

Pn= Probabilidad de que n clientes estén en el sistema=

Pn=(1−λμ )∗(λμ )

n

=(1− ρ )∗ρn

Po= Probabilidad de cero unidades en el sistema ( la unidad de servicio está vacía )=

Po=1−λμ

=(1−ρ )

Pn ¿k

= Probabilidad de que más de k unidades estén en el sistema = ¿ Pn ¿k ¿=( λμ )k+1

¿¿

Page 8: Practica MM1

2.- Cree un nuevo proyecto y un nuevo escenario. El nombre del proyecto debe tener <iniciales>_mm1net y del escenario mm1.

3.- En el asistente de inicio, hacemos clic en Salir, y después de esto se pondrá en marcha el escenario.

7

Page 9: Practica MM1

4.- Ahora seleccionamos File>New y después Node Model de la lista desplegable y hacemos clic en OK. El Node Editor se abre como una nueva ventana.

Después de este paso, aparecerá la siguiente ventana.

Editor de NodosEl Editor de nodo se utiliza para construir modelos de nodo, que constará de módulos conectados por flujos de paquetes y cables estadísticos. El primer paso para crear la cola M/M/1 es definir el módulo de fuente que genera aleatoriamente paquetes. Para ello, puede utilizar el módulo del procesador.

8

Page 10: Practica MM1

5. Hacemos clic en el icono Create Procesor, de la barra de botones.

6. Ahora seleccionamos en el área de trabajo el lugar donde queremos que aparezca y damos clic derecho para finalizar.

7. Damos clic derecho sobre el módulo de procesador y seleccionamos Edit Atributes.

9

Page 11: Practica MM1

8. Ahora cambiamos el atributo de nombre a src dando clic derecho sobre la columna y después presionamos Return.

9. Cambiamos el atributo Proces Model a simple_source.

10. Damos clic izquierdo en Packet Interarrival Time Para abrir la siguiente ventana en la cual damos clic en Distribution name y seleccionamos exponential.

10

Page 12: Practica MM1

11. Ahora ponemos 1.0 en Mean outcome y damos Ok.

12. Ahora seleccionamos el atributo Packet size y seleccionamos exponential en Distribution Name, y 9000 en Mean Outcome.

13. Hacemos clic en Ok. Esto establece el tamaño de la generación de paquetes que se distribuyen de manera exponencial con un el tamaño medio de 9.000 bits por paquete.

14. Hacemos clic en Ok. Para cerrar la caja de Atributos.

11

Page 13: Practica MM1

El atributo de Packet Interarrival Time especifica el paquete de tiempo y la distribución entre llegadas. El atributo Packet Size especifica el tamaño del paquete y distribución.

PDF significa función de densidad de probabilidad. Un PDF determina la distribución de los números estocásticos. El rango de posibles resultados de un PDF exponencial, tal como se estableció para el Packet Interarrival Time y Packet Size attributes, se extiende entre cero y el infinito, con más de los resultados agrupados cerca o debajo del valor medio especificado.

El uso de archivos PDF exponenciales en el modelo M/M/1 es consistente con el proceso de Poisson originalmente especificado para el tiempo de servicio y probabilidades de llegada de paquetes.

La porción del generador de paquetes de el modelo M/M/1 es completa, y durante la simulación generará paquetes de acuerdo con los valores exponenciales PDF asignadas.

El siguiente paso es crear un módulo de cola que emula tanto el tampón de infinito y el servidor de la cola M/M/1, como sigue.

15. Hacemos clic en el botón créate Queue y lo colocamos al lado derecho de nuestro nodo procesador, finalizamos con clic derecho.

16. Damos clic derecho en el nodo nuevo para editar sus atributos.

12

Page 14: Practica MM1

17. Cambiamos el atributo de nombre a queue.

18. Cambiamos el atributo process model a abc_fifo, y nos aseguramos que tenga 9600 en service_rate.

19. Damos clic en Ok.

El modelo de proceso subyacente que controla nuestro módulo de cola es el comportamiento, acb_fifo, emula tanto el buffer infinito y el servidor de cola M/M/1.

El nombre del modelo de proceso subyacente, acb_fifo, refleja sus principales características: "a" indica que es activo (es decir, que actúa como su propio servidor), "c" indica que pueda concentrarse en múltiples entrantes packets streams en su único recurso de cola interna, "b" indica que el tiempo de servicio es una función de lanúmero de bits en el paquete, y "fifo" indica el Servicio de ordenar la disciplina.

13

Page 15: Practica MM1

Otro punto a tener en cuenta sobre la asignación de los modelos de procesos a los módulos de nodo es que los atributos del modelo de proceso aparecerán en la lista de atributos del módulo. Por lo tanto, el valor del atributo service_rate que configure también se fija en el subyacente modelo de proceso acb_fifo. Para la gestión de memoria adecuada, los paquetes deben ser destruidos cuando ya no son necesarios. Para esta tarea, puede utilizar un módulo snik.

20. Ahora creamos un nuevo nodo procesador desde el menú de botones y lo colocamos al lado derecho de queue.

21. Modificamos sus atributos con clic derecho sobre él, y procedemos a cambiar su nombre por sink, nos aseguramos que su valor en process model sea el de sink.

22. Damos clic en Ok, para cerrar el cuadro de diálogo.

23. En el siguiente paso damos clic en Create Packet Stream para crear el flujo de paquetes. Entonces unimos del nodo procesador src al queue, después unimos este último a sink. Como se muestra a continuación.

14

Page 16: Practica MM1

24. Ahora verificamos que el tipo de nodo sea fixed, para esto nos vamos a interfaces>node interfaces y nos aparecerá un cuadro de dialogo en donde deberemos cambiar los valores yes a no en mobile y satellite, posteriormente seleccionamos Ok.

25. Ahora guardamos con la opción File>Save y ponemos el nombre al nodo <iniciales>mm1, damos click en Save.

15

Page 17: Practica MM1

26. Cerramos el Node editor.

La creación de la Red

27. En la ventana principal seleccionamos Open Object Palette.

28. Ahora aparecerá un cuadro de dialogo en donde seleccionaremos el siguiente botón para cambiar de vista.

16

Page 18: Practica MM1

29. Dar clic en Configure Palette.

30. Seleccionamos el botón de radio Model list, y presionamos Clear.

17

Page 19: Practica MM1

31. Ahora seleccionamos la opción Node Models.

32. Aparecerá una ventana en donde buscaremos <iniciales>mm1 una vez encontrado hacemos clic en la columna de la derecha para cambiar su valor a included.

33. Damos Ok para cerrar la tabla.

34. Damos Ok en la ventana de Configure Palette y guardamos con el nombre <iniciales>mm1_palette.

18

Page 20: Practica MM1

35. Ahora notaremos que se ha agregado el nodo a la ventana como se muestra a continuación.

Nota: Sólo verás un tipo de subnet si tú no tienes el módulo Wireless.

36. En este paso, seleccionamos el <iniciales>mm1 y lo arrastramos hasta el área de trabajo y damos clic derecho para finalizar.

19

Page 21: Practica MM1

37. Damos click derecho, y seleccionamos Set Name.

38. Renombraremos el nodo a m1.

20

Page 22: Practica MM1

39. Ahora guardamos desde File>Save, con el nombre de <iniciales>mm1net.

Coleccionando resultados con el editor de pruebas

40. Una vez hecho lo anterior, procedemos a crear un Probe Model para lo cual nos vamos a File>New y seleccionamos Probe Model, después damos Ok.

41. Una vez realizado lo anterior parecerá la siguiente ventana.

21

Page 23: Practica MM1

42. Elegimos Objects>Set Network Model.

43. Seleccionaremos <iniciales>mm1net-mm1.

22

Page 24: Practica MM1

44. Cuando se haya realizado correctamente el paso anterior procedemos a dar clic en el botón Create Node Statistic Probe.

45. Damos clic derecho en el objeto que creamos y seleccionamos Choose Probed Object del menú desplegable.

23

Page 25: Practica MM1

46. Ahora seleccionamos m1 para mostrar su contenido y damos clic en queue, y damos clic en Ok.

top.m1.queue aparece en la columna Objeto.

47. Procedemos a dar clic derecho sobre el objeto y modificamos sus atributos.

24

Page 26: Practica MM1

48. Cambiamos el nombre por Queue Delay, cambiamos el atributo submodule por subqueue [0].

49. Damos clic izquierdo en statistic y aparecerá una ventana en donde seleccionamos queue.queuing delay y damos Ok.

25

Page 27: Practica MM1

50. Damos Ok para cerrar la ventana.

En la ventana Edit Attributes, el atributo statistic a cambiado a queuing delay.

51. Damos click en Ok para cerrar la ventana de Attributes.

52. Procedemos a crear un nuevo nodo dando clic en Create Node Statistic Probe.

26

Page 28: Practica MM1

53. Una vez creado damos clic derecho sobre este y editamos sus atributos, como en la tabla siguiente:

54. Procedemos a modificar los atributos de tal forma que queden como se muestra a continuación.

27

Page 29: Practica MM1

Los cambios aparecen en el Editor de Prueba.

55. Damos clic en Ok y procedemos a guardar nuestro trabajo desde File>save con el nombre de <iniciales>mm1probe.

28

Page 30: Practica MM1

56. Cerramos el Editor de Prueba.

57. Ahora desde el editor de proyectos seleccionamos DES>configure/run discrete event simulation(advanced).

58. Una vez realizado esto, aparecerá la siguiente ventana en donde daremos clic derecho sobre el icono que aparece en el espacio de trabajo para poder editar sus atributos.

29

Page 31: Practica MM1

59. En la siguiente ventana que aparece establecemos una simulación de 7 horas con una semilla de 431.

60. Ahora expandimos Outputs y seleccionamos Statistics Collection, y en probe file ponemos <iniciales>mm1probe.

61. Cerramos dando clic en ok y posteriormente ejecutamos la simulación .

30

Page 32: Practica MM1

Visualizando Resultados

62. Ahora procederemos a visualizar los resultados, para esto nos vamos hasta la ventana del proyecto y seleccionamos File>new y después Analysis Configuration y seleccionamos Ok.

63. Después aparecerá una ventana en donde seleccionamos Create a Graph of a Statistic.

31

Page 33: Practica MM1

64. Después procedemos a expandir lo siguiente Graph Output Files ><iniciales>mm1net-mm1 >Object Statistics >m1 >queue >subqueue [0] >queue.

65. Seleccionamos queuing delay.

32

Page 34: Practica MM1

66. De los filtros de la lista de abajo, seleccionamos average.

67. Procedemos a hacer clic en show y aparecerá la siguiente ventana.

33

Page 35: Practica MM1

El gran cambio temprano en la simulación refleja la sensibilidad de los promedios para el número relativamente pequeño de muestras recogidas. Hacia el final de la simulación, el promedio se estabiliza.

Es importante validar los resultados de simulación para exactitud. Tenga en cuenta que la media cola de retardo para este simulación es de alrededor de 15 segundos. Hay muchos cálculos que pueden ser utilizados para determinar si esto es preciso:

68.Después regresamos a la ventana anterior y ahora seleccionamos queue size (packets) asegurándonos de deseleccionar la anterior y en lugar de seleccionar average ahora seleccionamos time_average.

34

Page 36: Practica MM1

69. Ahora pulsamos el botón show y nos saldrá la siguiente ventana.

35

Page 37: Practica MM1

70. Damos clic derecho sobre la gráfica anterior y procedemos a seleccionar Add Statistic.

71. Aparecerá una ventana en donde seleccionaremos lo siguiente, Graph Output Files ><iniciales>_mm1net-mm1 > Object Statistics >m1 > queue > subqueue [0] > queue > queuesize (packets).

36

Page 38: Practica MM1

72. Nos aparecerá una nueva grafica la cual agregaremos con el botón add.

73. Y finalmente nos queda una gráfica como la que se muestra a continuación.

37

Page 39: Practica MM1

RESULTADOS

Los resultados obtenidos en esta práctica son las gráficas relacionadas con los datos que llegaban a la cola durante el lapso de tiempo de 7 horas.

Como la siguiente gráfica que muestra el promedio de las llegadas de paquetes en el lapso de tiempo.

Promedio de llegadas de paquetes en 7 horas.

Otro de los datos obtenidos fue la comparación del tamaño de los paquetes en comparación con el promedio, todo esto también realizado en un lapso de 7 horas.

38

Page 40: Practica MM1

Línea roja: tamaño de los paquetes.Línea azul: promedio de paquetes.

39

Page 41: Practica MM1

CONCLUSIÓN

En esta práctica, aprendimos a implementar un sistema M/M/1 en el programa OPNET. Primeramente tenemos que resolver nuestro problema de colas M/M/1 a través de las fórmulas correspondientes al sistema, para poder comparar nuestros resultados en el programa OPNET.

A través del tutorial proporcionado por el profesor, se aprendió a resolver un problema de colas M/M/1, en el cuál se pudo apreciar que los resultados corresponden a los resultados obtenidos en las fórmulas del sistema simple.

Este sistema de colas trata de una distribución de llegada, tiempo de servicio, y un servidor. Entre sus características principales: •En primer lugar, se supone que las llegadas son por completo independientes entre sí y con respecto al estado del sistema.•En segundo lugar la probabilidad de llegada durante un periodo específico no depende de cuando ocurre el periodo, sino más bien, depende solo de la longitud del intervalo.

El sistema de cola M/M/1 se compone de una cola (FIFO) con llegada de paquetes que llegan al azar de acuerdo con un Proceso de Poisson, y un servidor que recupera los paquetes del buffer en una determinada tasa de servicio.

40

Page 42: Practica MM1

BIBLIOGRAFÍA

Investigación de operaciones 5TA Edición Hamdy A. Taha Alfaomega.Consultado el 14 de julio del 2015

TUTORIAL M/M/1 QUEUE Material proporcionado por el profesor Eduardo de la Cruz Gámez.

https://cesarescobedo.wordpress.com/2011/05/22/lineas-de-espera/Consultada el 14 de julio del 2015

http://indeoperaciones.blogspot.mx/2010/11/modelo-de-linea-de-espera-de-un-solo.htmlConsultada el 14 de julio del 2015

41