unidad 4 Simulacion

19
Instituto Tecnológico Superior de Coatzacoalcos Ingeniería en Sistemas Computacionales Nombre del Alumno: Ubaldo Mota Nestor Apellido Paterno Apellido Materno Nombre(s) No. Control: 13080379 Semestre: 5 Grupo: A PORTAFOLIO DE EVIDENCIAS Simulación

description

temas desarrollados de la unodad 4 de la materia de simulacion

Transcript of unidad 4 Simulacion

Instituto Tecnolgico Superior de Coatzacoalcos

Ingeniera en Sistemas Computacionales

Nombre del Alumno: Ubaldo Mota Nestor Apellido Paterno Apellido MaternoNombre(s)

PORTAFOLIO DE EVIDENCIAS

Simulacin

No. Control:13080379Semestre:5Grupo:A

Nombre del Docente: Blanquet Escobar Landy Apellido Paterno Apellido MaternoNombre(s)

UNIDAD 4LENGUAJES DE SIMULACION_______________________________________

4.1 LENGUAJE DE SIMULACIN Y SIMULADORES

En un principio, los programas de simulacin se elaboraban utilizando algn lenguaje de propsito general, como ASSEMBLER, FORTRAN, ALGOL o PL/I. A partir de la dcada de 1960 hacen su aparicin los lenguajes especficos para simulacin como GPSS, GASP, SIMSCRIPT, SLAM.

En la ltima dcada del siglo pasado la aparicin de las interfaces grficas revolucionaron el campo de las aplicaciones en esta rea, y ocasionaron el nacimiento de los simuladores.En lo prctico, es importante utilizar la aplicacin que mejor se adece al tipo de sistema a simular, ya que de la seleccin del lenguaje o simulador depender el tiempo de desarrollo del modelo de simulacin.

Las opciones van desde las hojas de clculo, lenguajes de tipo general (como Visual Basic, C++ o Fortan), lenguajes especficos de simulacin (como GPSS, SLAM, SIMAN, SIMSCRIPT, GAS y SSED), hasta simuladores especficamente desarrollados para diferentes objetivos (como SIMPROCESS, ProModel, Witness, Taylor II y Cristal Ball).

4.2 APRENDIZAJE Y USO LENGUAJE DE SIMULACIN O UN SIMULADOR

Los lenguajes de simulacin facilitan enormemente el desarrollo y ejecucin de simulaciones de sistemas complejos del mundo real. Los lenguajes de simulacin son similares a los lenguajes de programacin de alto nivel pero estn especialmente preparados para determinadas aplicaciones de la simulacin.

As suelen venir acompaados de una metodologa de programacin apoyada por un sistema de smbolos propios para la descripcin del modelo por ejemplo mediante diagramasde flujo u otras herramientas que simplifican notablemente la modelizacin y facilitan la posterior depuracin del modelo.Caractersticas de los lenguajes de simulacin:

Los lenguajes de simulacin proporcionan automticamente las caractersticas necesarias para la programacin de un modelo de simulacin, lo que redunda en una reduccin significativa del esfuerzo requerido para programar el modelo. Proporcionan un marco de trabajo natural para el uso de modelos de simulacin. Los bloques bsicos de construccin del lenguaje son mucho ms afines a los propsitos de la simulacin que los de un lenguaje de tipo general. Los modelos de simulacin son mucho ms fcilmente modificables. Proporcionan muchos de ellos una asignacin dinmica de memoria durante la ejecucin. Facilitan una mejor deteccin de los errores. Los paquetes de software especialmente diseados para simulacin contienen aplicaciones diversas que facilitan al simulador las tareas de comunicaciones, la depuracin de errores sintcticos y de otro tipo de errores, la generacin de escenarios, la manipulacin on-line de los modelos, etc. Son muy conocidos y en uso actualmente Aprendizaje lleva cierto tiempo Simuladores de alto nivel Muy fciles de usar por su interface grfica Restringidos a las reas de manufactura y comunicaciones Flexibilidad restringida puede afectar la validez del modelo

Entre estos lenguajes especficos podemos nombrar los siguientes: MIDAS, DYSAC, DSL, GASP, MIMIC, DYNAMO, GPSS, SIMULA, CSSL ( Continuous System Simulation Language) , CSMP, ACSL ( Advanced Conrinuous Simulation Language), DARE-P and DARE-Interactive, C-Simscript, SLAM, SIMAN, SIMNON, SIMSCRIPT-II-5, ADA, GASP IV, SDL.Muchos de estos lenguajes dependen fuertemente de los lenguajes de propsito general como es el caso de SLAM o SIMAN que dependen de Fortran para las subrutinas.

Por otro lado, el GPSS es un caso especial de un lenguaje de simulacin de propsito especial, altamente estructurado que est orientado a la transaccin, un caso especial de una orientacin basada en procesos ms general. El GPSS fue diseado para la simulacin simple de sistemas de colas tales como trabajos de taller.

A diferencia de los otros lenguajes de simulacin, GPSS tiene varias implementaciones incluyendo GPSS/H y GPSS/PC, ambos de los cuales sern discutidos ms adelante. El SIMAN V, SIMSCRIPT II.5, y el SLAM son lenguajes de simulacin de alto nivel que tienen constructor especialmente diseados para facilitar la construccin de modelos.

Estos lenguajes proveen al analista de simulacin con una opcin orientacin basada en procesos o basada en eventos, o un modelo usando una mezcla de las dos orientaciones. A diferencia del FORTRAN, estos tres lenguajes proveen la administracin de la lista de eventos futuros, generador interno de variables aleatorias, y rutinas internas para la obtencin de estadsticas (estas caractersticas para las implementaciones del GPSS mencionadas previamente.)

Se pueden lograr clculo complejos en ambas implementaciones del GPSS y estos tres lenguajes. El SIMAN, SIMSCRIPT II.5, y el SLAMSYSTEM proveen la capacidad de realizar simulacin continua (esto es, para modelar sistemas que tengan continuamente cambios en sus variables de estado) pero este tema no est dentro del alance de este libro.

El SIMAN est escrito en C, aunque las primeras versiones del lenguaje fue escrito en FORTRAN.El SIMAN V puede ser acezado directamente, o a travs del medio ambiente del ARENA. El SLAMSYSTEM contiene al lenguaje de simulacin SLAM II.

El SLAM II est basado en el FORTRAN y contiene al lenguaje GASP como un subconjunto. El GASP es un conjunto de subrutinas en FORTRAN para facilitar las simulaciones orientadas al objeto escritas en FORTRAN.

El SIMSCRIPT II.5 por otro lado, contiene un subconjunto de un completo lenguaje cientfico de simulacin comparable con el FORTRAN, C o C++. El MODSIM III es un descendiente del lenguaje que la compaa de productos CACI originalmente diseado por la armada de los Estados Unidos.

Hereda mucha de su sintaxis del MODULA-2 y del ADA, ciertas caractersticas del ADA y sus conceptos de simulacin del SIMSCRIPT y el SIMULA. Algunas de las caractersticas de la simulacin orientada al objeto fueron originalmente vistas en el SIMULA y el SMALLTALK.

4.3 CASOS PRCTICOS DE SIMULACIN

Un caso prctico de una simulacin podemos decir en esta parte, la simulacin del Mtodo de Monte Carlo.ALGORITMOSEl algoritmo de Simulacin Monte Carlo Crudo o Puro est fundamentado en la generacin de nmeros aleatorios por el mtodo de Transformacin Inversa, el cual se basa en las distribuciones acumuladas de frecuencias:

Determinar la/s V.A. y sus distribuciones acumuladas(F) Generar un nmero aleatorio uniforme (0,1). Determinar el valor de la V.A. para el nmero aleatorio generado de acuerdo a las clases que tengamos. Calcular media, desviacin estndar error y realizar el histograma. Analizar resultados para distintos tamaos de muestra.

Otra opcin para trabajar con Monte Carlo, cuando la variable aleatoria no es directamente el resultado de la simulacin o tenemos relaciones entre variables es la siguiente:

Disear el modelo lgico de decisin Especificar distribuciones de probabilidad para las variables aleatorias relevantes Incluir posibles dependencias entre variables. Muestrear valores de las variables aleatorias. Calcular el resultado del modelo segn los valores del muestreo (iteracin) y registrar el resultado Repetir el proceso hasta tener una muestra estadsticamente representativa Obtener la distribucin de frecuencias del resultado de las iteraciones Calcular media, desvo. Analizar los resultados

Las principales caractersticas a tener en cuenta para la implementacin o utilizacin del algoritmo son: El sistema debe ser descripto por 1 o ms funciones de distribucin de probabilidad (fdp) Generador de nmeros aleatorios: como se generan los nmeros aleatorios es importante para evitar que se produzca correlacin entre los valores mustrales. Establecer lmites y reglas de muestreo para las fdp: conocemos que valores pueden adoptar las variables. Definir Scoring: Cuando un valor aleatorio tiene o no sentido para el modelo a simular. Estimacin Error: Con que error trabajamos, cuanto error podemos aceptarpara que una corrida sea vlida? Tcnicas de reduccin de varianza. Paralelizacin y vectorizacin: En aplicaciones con muchas variables se estudia trabajar con varios procesadores paralelos para realizar la simulacin.

EJEMPLO PRACTICO ITenemos la siguiente distribucin de probabilidades para una demanda aleatoria y queremos ver qu sucede con el promedio de la demanda en varias iteraciones:

Utilizando la distribucin acumulada (F(x) es la probabilidad que la variable aleatoria tome valores menores o iguales a x) podemos determinar cul es el valor obtenido de unidades cuando se genera un nmero aleatorio a partir de una distribucin continua uniforme. Este mtodo de generacin de variable aleatoria se llama Transformacin Inversa.

Generando los valores aleatorios vamos a ver como se obtiene el valor de la demanda para cada da, interesndonos en este caso como es el orden de aparicin de los valores. Se busca el nmero aleatorio generado en la tabla de probabilidades acumuladas, una vez encontrado (si no es el valor exacto, ste debe ser menor que el de la fila seleccionada pero mayor que el de la fila anterior), de esa fila tomada como solucin se toma el valor de las unidades (Cuando trabajamos en Excel debemos tomar el lmite inferior del intervalo para busca en las acumuladas, para poder emplear la funcin BUSCAR V (), para 42 sera 0, para 43 0,100001 y as sucesivamente).

4.3.1 PROBLEMAS CON LNEAS DE ESPERA.

Simulacin de una lnea de espera con una fila y un servidor

Un sistema de colas estar definido cuando tengamos la siguiente informacin acerca de este:Distribucin de probabilidad de los tiempos de servicioDistribucin de probabilidad de los tiempos entre llegadasNumero de servidoresNumero de filasConexiones entre servidores y filasDisciplinas y restricciones de los servidores y filas (en caso de que existan)Para este primer ejemplo se utilizara el modelo de lneas de espera que se muestra en la figura siguiente. Como se puede apreciar, es un modelo bastante simple donde la disciplina de atencin es FIFO (primero en llegar, primero en salir).

Tanto el tiempo de servicio como el tiempo entre llegadas siguen una distribucin exponencial aunque con parmetros diferentes, para el caso del tiempo entre llegadas tenemos =15 y para el tiempo de servicio tenemos =10.Aplicando el mtodo de la transformada inversa a la distribucin exponencial (consultar Dyner etc. al, 2008), tenemos que:

Dondecorresponde a unaobservacinde una variable exponencial,_es un nmero aleatorio entre cero y uno y es la media de la distribucin. Para la implementacin del sistema descrito en Excel, abra una nueva hoja de clculo y configrela como se muestra en la figura.

En la celda B8 escriba la formula=ALEATORIO ()y arrastre hasta la celda B23. Repita este procedimiento para la columna G.

En el paso anterior, se defini los nmeros aleatorios a partir de los cuales se generaran las observaciones de variables aleatorias de la simulacin.Ahora, en la celda C8 escribe la formula=-LN (1-B8)/$B$4, y arrastre hasta la celda C23.

Como se puede apreciar, esta es la frmula descrita anteriormente para obtener observaciones de una variable exponencial. En este caso, se estn generando observaciones para la variable aleatoria de tiempos entre llegadas.

En la celda D8 escribe la formula=C8, lo anterior significa que como es la primera llegada al sistema, su tiempo de llegada (en el instante de tiempo en el que llego al sistema), ser igual a su tiempo entre llegadas. Sin embargo, para la celda D9 la formula correspondiente es=C9+D8, ahora arrastre la frmula de D9 hasta D23; esta frmula significa que despus de que llega el primer cliente, el instante de tiempo en el que cualquier otro cliente llega al sistema ser el instante de tiempo en el que entro elpenltimo cliente sumado el tiempo entre llegadas delltimocliente, es decir, si el penltimo cliente entro al sistema en el instante t=4, y el tiempo entre llegadas del ultimo cliente es dt=2, entonces este ltimo cliente entrararealmenteal sistema en t=6.

La frmula correspondiente a la celda E8 es=D8, esto significa que, al ser primer cliente, el instante en el que llega al sistema ser el mismo instante en el que comienza el servicio; ms adelante se presenta las formulas correspondientes al resto de clientes del sistema en esta columna. Ahora en la celda F8 escriba la formula=E8-D8y arrstrela hasta la celda F23, esto corresponde al tiempo de espera del cliente antes de comenzar a ser atendido, note que D8 nunca ser mayor que E8 ya que el valor mnimo que puede tomar eltiempo de comienzo del servicioes eltiempo de llegada, es decir, cuando un cliente llega al sistema y no tiene que hacer fila.

En la celda H8 escribe la formula=-LN (1-G7)/$B$5, y arrstrela hasta la celda H23, esta frmula indica cuanto tiempo tardara el servidor atendiendo al cliente actual. Ahora en la celda I8 escriba la formula=E8+H8, esta frmula indica el instante de tiempo en el que servidor termina de atender al cliente actual y corresponde a la suma entre el instante que comienza el servicio y la cantidad de tiempo que este toma.

Retomemos ahora la columna E, ntese que esta solo est definida en su posicin E8, esto porque primero se requera definir otros valores antes de poder determinar el instante en el que empieza realmente el servicio. En un sistema como el aqu presentado se pueden tener dos casos para el tiempo de comienzo del servicio, en primer lugar puede que el servidor se encuentre desocupado, en este caso el tiempo de comienzodel servicioser igual al tiempo de llegada al sistema y no habr tiempo de espera.

Sin embargo, si el servidor se encuentra ocupado, el tiempo de comienzo del servicio ser igual al mximo entre el instante en que el servidor termine de atender al cliente actual y el tiempo de llegada al sistema; por si el tiempo de fin del servicio del cliente actual es igual a tfs=12 pero el tiempo de llegada del prximo cliente es tll=14, el tiempo de comienzo del servicio del prximo cliente sera t=14 y el servidor tendr un ocio dt=2; por otro lado, si tfs=13 para el cliente actual y el prximo cliente tiene un tll=10, el servidor no tendr ocio y el prximo cliente debera esperar un intervalo de tiempo dt=3. De lo anterior se concluye que la frmula para la celda E9 debe ser=MAX (D9;I8), ahora arrastre esta frmula hasta la celda E23.Hasta este punto se tiene una simulacin de un sistema de lneas de espera con una fila y un servidor, si se desea generar nuevas observaciones presione la tecla F9; como tarea al lector se deja el clculo de:Tiempo promedio en el sistemaTiempo promedio de espera (sin incluir ceros)Tiempo promedio de espera (incluyendo ceros)Tiempo promedio de servicioTiempo promedio de ocio

Adicionalmente se plantea al lector elaborar, una simulacin en Excel que represente el sistema que se muestra en la figura siguiente, donde p es la probabilidad de que un cliente se dirija a S1 o a S2. Tanto el tiempo entre llegadas como los tiempos de servicio, se distribuyen exponencial con los parmetros que se muestran a continuacin.

Tiempo entre llegadas: =8Tiempo de servicio S1: =13Tiempo de servicio S2: =18Probabilidad p: 0.63

4.3.2 PROBLEMAS CON SISTEMAS DE INVENTARIO.

El diseo de sistema de inventarios toma en cuenta las caractersticas ms relevantes del mundo real, es decir, aquellas variables cuya presencia tiene efectos significativos sobre el objeto fijado. Desde este punto de vista el sistema presenta una simplificacin o abstraccin de una realidad.

Por otra parte, la operacin del sistema se facilita con el empleo de modelos, que en forma directa o indirecta dan eleccin ms conveniente, segn los supuestos que han llevado a su formulacin. El desarrollo de modelo no es un trabajo reciente en el campo de la administracin.

Los esquemas de balance de la empresa representan modelos generales que simplifican la realidad de la empresa, pero que son capaces de proveer informacin para la toma de decisiones de los ejecutivos. En otros casos los modelos, segn los supuestos de su construccin dan una o ms alternativas que permiten si la realidad se comporta como establece el modelo, lograr el mejor desempeo del sistema.

Se distinguen dos tipos de modelo que son los empricos y matemticos.Los modelos empricos corresponden a los que utilizan las empresas para administrar sus inventarios, cuando no se encuentra una funcin u objetivo claramente cuantificado que trate de optimizar, y en que la informacin que se provee a los ejecutivos no permite fcilmente establecer cul es la estrategia de mayor eficiencia econmica.

Por otro lado los modelos matemticos se caracterizan por representar la realidad que les preocupa en smbolos y relaciones matemticas. Dentro de los modelos matemticos se distinguen dos grupos de modelos, los modelos de optimizacin y los modelos de simulacin.

Los modelos de simulacin parten de una funcin objetiva expresada en forma matemtica y por su construccin es posible obtener la o las estrategias que logran el nivel ms alto de eficiencia del objetivo. En general, la optimizacin del modelo ser real en la medida que sea una representacin adecuada del mundo que est en estudio.

A su vez, los modelos de optimacin se agrupan en modelo determinsticos y modelos aleatorios o estocsticos.Los modelos determinsticos reciben a un conjunto de variables, cuyo comportamiento o valor en el futuro se supone cierto, es decir, no sujetos a variacin.

En cuanto a los modelos estocsticos, se caracterizan por que uno o ms variables pueden tener diferentes valores futuros, y cada uno de ellos tiene una cierta probabilidad de ocurrencia.4.4 VALIDACIN DE UN SIMULADOR

Atravsdeestaetapaesvalorarlasdiferenciasentreelfuncionamientodelsimulador y el sistema real que se est tratando de simular.Las formas ms comunes de validar un modelo son:

1.La opinin de expertos sobre losresultados de la simulacin.2.La exactitud conque se predicendatos histricos.3.La exactitud enla prediccin delfuturo.4. La comprobacin de falla del modelo de simulacin al utilizar datos que hacen fallar al sistema real.5. La aceptacin y confianza en el modelo de la persona que har uso de los resultados que arroje el experimento de simulacin.

4.4.1 PRUEBAS PARAMTRICAS (VALIDACIN DEL MODELO, PRUEBAS DE HIPTESIS Y PRUEBAS DE ESTIMACIN).

Validacin del modelo

Etapas en el desarrollo de un simulador.Recordemos que las etapas nombradas para desarrollar un simulador son:1)Identificacin del problema2)Delimitacin del sistema3)Formulacin del modelo4)Preparacin de datos5)Construccin del modelo6)Validacin7)Diseo de experimentos8)Ejecucin de experimentos9)Interpretacin (Inferencia)10)Documentacin

IV) Etapa IV: Preparacin de datos, o bien obtencin de datos.Consiste en la identificacin y captacin de los datos que requiere el modelo, de acuerdo a la formulacin que se haya hecho en las etapas anteriores del diseo.

V.Construccin del modeloEs llevar el modelo que se tiene del simulador a un lenguaje de programacin disponible en el computador a usar o en las configuraciones disponibles, y que debe conocer su programacin.

VI.ValidacinEs esta etapa se trata deestablecer, y si es posible aumentar, el nivel aceptable de confiabilidad de las inferencias efectuadas sobre el sistema real.

VIIDiseo de experimentosAqu se usan las reglas y los procedimientos que la estadstica considera para el diseo de experimentos en general y que se aplica a disear experimentos a efectuar con el simulador.

VIIIEjecucin de los experimentosCorresponde a la etapa operacional del diseo de experimentos.

IX InterpretacinSe hacen las inferencias sobre el sistema real de los datos generados por el simulador.

X. DocumentacinSe debe indicar por escrito puntos tales como: los objetivos, las componentes y subsistemas, variables de entrada y de salida, relaciones funcionales, el modelo formulado, la funcin de desempeo, y lo pertinente hasta aqu (Diseo lgico del simulador).

XII.ExplotacinEs dejar el simulador con los manuales y documentacin a disposicin del o los usuarios.

Pruebas de hiptesis

Al realizar pruebas de hiptesis, se parte de unvalorsupuesto (hipottico) en parmetro poblacional. Despus de recolectar unamuestraaleatoria, se compara laestadsticamuestral, ascomola media (x),conel parmetro hipottico, se compara con una supuesta media poblacional.

Despus se acepta o se rechaza elvalorhipottico, segn proceda. Se rechaza el valor hipottico slo si el resultado muestral resultamuypocoprobablecuandola hiptesis es cierta.Etapas Para La Prueba DeHiptesis.Etapa 1.- Planear la hiptesis nulayla hiptesis alternativa. La hiptesis nula (H0) es el valor hipottico del parmetro que secompracon el resultado muestral resulta muy poco probable cuando la hiptesis es cierta.Etapa 2.-Especificar el nivel de significancia que se va a utilizar. El nivel de significancia del 5%, entonces se rechaza la hiptesis nula solamente si el resultado muestral es tan diferente del valor hipottico que una diferencia de esa magnitud o mayor, pudiera ocurrir aleatoria mente con unaprobabilidadde 1.05 o menos.Etapa 3.-Elegir la estadstica deprueba.La estadstica de prueba puede ser la estadstica muestral (el estimador no segado del parmetro que se prueba) o una versin transformada de esa estadstica muestral. Etapa 4.-Establecer el valor ovalorescrticos de la estadstica de prueba. Habiendo especificado la hiptesis nula, el nivel de significancia y la estadstica de prueba que sevana utilizar, se produce a establecer el olos valorescrticos de estadstica de prueba. Etapa 5.-Determinar el valor real de la estadstica de prueba. Por ejemplo, al probar un valor hipottico de la media poblacional, se toma una muestra aleatoria y se determina el valor de la media muestral. Etapa 6.-Tomar la decisin. Se compara el valor observado de la estadstica muestral con el valor (o valores) crticos de la estadstica de prueba. Al tomar la decisin con respecto a la hiptesis nula, se debe determinar el valor crtico en la distribucin estadstica que divide la regin del rechazo (en la cual la hiptesis nula no se puede rechazar) de la regin de rechazo. PASOS DE LA PRUEBA DE HIPTESIS1.Expresar la hiptesis nula2.Expresar la hiptesis alternativa3. Especificar el nivel designificancia4. Determinar el tamao de la muestra5. Establecer los valores crticos que establecen las regiones de rechazo de las de no rechazo.6. Determinar la prueba estadstica.7. Coleccionar losdatosycalcularel valor de la muestra de la prueba estadstica apropiada.8.Determinar si la prueba estadstica ha sido en la zona de rechazo a una de no rechazo.9.Determinar la decisin estadstica.10 Expresar la decisin estadstica en trminos del problema.

4.4.2 PRUEBAS NO PARAMTRICAS

Las pruebas estadsticas no paramtricas son las que, a pesar de basarse en determinadas suposiciones, no parten de la base de que los datos analizados adoptan una distribucin normal.Tcnica estadstica que no presupone ninguna distribucin de probabilidad terica de la distribucin de nuestros datos.

Se denominan pruebas no paramtricas aquellas que no presuponen una distribucin de probabilidad para los datos, por ello se conocen tambin como de distribucin libre (distribucin free).En la mayor parte de ellas los resultados estadsticos se derivan nicamente a partir de procedimientos de ordenacin y recuento, por lo que su base lgica es de fcil comprensin.

Cuando trabajamos con muestras pequeas (n < 10) en las que se desconoce si es vlido suponer la normalidad de los datos, conviene utilizar pruebas no paramtricas, al menos para corroborar los resultados obtenidos a partir de la utilizacin de la teora basada en la normal.En estos casos se emplea como parmetro de centralizacin la mediana, que es aquel punto para el que el valor de X est el 50% de las veces por debajo y el 50% por encima.Las pruebas no paramtricasno requieren asumir normalidad de la poblacin yen su mayora se basan en el ordenamiento de los datos, la poblacin tiene que ser continua.El parmetro que se usa para hacer las pruebas estadsticas es la Mediana y no la Media.Son tcnicas estadsticas que no presuponen ningn modelo probabilstico terico.Son menos potentes que las tcnicas paramtricas, aunque tienen la ventaja que se pueden aplicar ms fcilmente.