Mostrando entradas con la etiqueta Principios de Simulación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Principios de Simulación. Mostrar todas las entradas

miércoles, 19 de febrero de 2020

Programación estructurada

Programación estructurada:Técnicas para desarrollar algoritmos fáciles de escribir, verificar, leer y modificar. Utiliza:

  • Diseño descendente: etapas, de lo general al detalle.
  • Recursos abstractos: descomposición del problema.
  • estructuras básicas: secuenciales, selectivas, repetitivas y anidadas.
1. Estructuras secuenciales: Una acción se ejecuta detrás de la otra.

Pseudocódigo:
<acción 1>
<acción 2>
<acción 3>
<acción 4>
...
<acción N>

2. Estructuras selectivas: Una acción o acciones que deben cumplir una condición. Son de tipo:
  • Simples: Se cumple una condición, si no salta las acciones.
Pseudocódigo:
Si <Condición> entonces
     <Acción>
Fin Si
  • Dobles: Se evalúa una condición como verdadero o falso.
Pseudocódigo:
Si <Condición> entonces
     <Acción 1>
Si no
     <Acción 2>
Fin Si
  • Múltiples: Se ejecutarán una acciones u otras según el resultado que se obtenga al evaluar una expresión.
Pseudocódigo:
Según sea <Expresión> hacer
     <acción 1>
     <acción 2>
     <acción 3>
     <acción 4>
Si no
     <Acción N>
Fin Según

3. Estructuras repetitivas: Las acciones se repiten mientras o hasta que se cumpla una condición. Las cuales son:
  • Mientras: Las acciones del bucle se realizan cuando la condición es cierta. Además, se pregunta por la condición al principio, de donde se deduce que dichas acciones se podrían ejecutar N veces.
Pseudocódigo:
Mientras <Expresión lógica> hacer
     <Acciones>
Fin mientras
  • Hasta: Las acciones del interior del bucle se ejecutan una vez y continúan repitiendose mientras que la condición sea falsa. Se interroga por la condición al final del bucle.
Pseudocódigo:
Repetir
     <Acciones>
Hasta que <Expresión lógica>
  • Desde: Se utiliza cuando se conoce el número de veces que se va a iterar. La estructura "desde" comienza con un valor inicial y las acciones se ejecutan a menos que el valor inicial sea mayor que el valor final.
Pseudocódigo:
Desde valor<---valor inicial hasta valor final hacer
     <Acciones>
Fin desde

4. Estructuras anidadas: Tanto las estructuras selectivas como repetitivas pueden ser anidadas, e introducidas una al interior de otras.

Pseudocódigo:
Si <Condición 1> entonces
     <Acción 1>
Si no
     Si <Condición 2> entonces
          <Acción 2>
     Si no
          Si <Condición 3> entonces
              <Acción 3>
          Si no
             <Acción n>
         Fin Si
     Fin Si
Fin Si

lunes, 5 de marzo de 2018

6.Variables aleatorias y distribuciones de probabilidad

1. Variables aleatorias

Es una función que asocia un número real a cada elemento del espacio muestral. Las variables aleatorias pueden ser discretas o continuas.

1.1 Variables aleatorias discretas

Si un espacio muestral contiene un número finito de posibilidades o una serie con tantos elementos como números enteros existen, se llama espacio muestral discreto (Álvarez y Rojas 2015).

1.2 Variables aleatorias continuas

Si un espacio muestral contiene un número infinito de posibilidades igual al número de puntos en un segmento de línea, se llama espacio muestral continuo (Álvarez y Rojas 2015).

Generación de variables aleatorias

Los modelos de simulación usan distribuciones estadísticas para  representar actividades que son,
por lo general, impredecibles o  inciertas.
  • Tiempos entre llegadas
  • Tiempos de servicios
  • Demandas


2. Distribuciones de probabilidad

Es la asignación de un suceso definido a través de una función. Esta definición ocurre sobre el conjunto de todos los sucesos y sobre el rango de la variable aleatoria.
También tiene una estrecha relación con las distribuciones de frecuencias.




Referencia
Álvarez,L. Rojas,J. Variables aleatorias y distribuciones de probabilidad, 2015 Universidad de Medellín

jueves, 22 de febrero de 2018

5.Pruebas estadísticas para números aleatorios

Los números pseudo-aleatorios necesitan satisfacer las propiedades estadísticas de los números aleatorios, esto es, los generados por una herramienta aleatoria idealizada y determinista.

Los números deben ser seleccionados de manera independiente, a partir de una distribución uniforme en el intervalo (0,1) y con un orden de secuencia aleatorio.

Para aceptar o rechazar la hipótesis de que el conjunto de datos generado sigue la distribución antes mencionada, se utilizan pruebas estadísticas de bondad de ajuste, estas pruebas se basan en comparar valores numéricos observados con valores numéricos esperados de la distribución.



Principalmente se utilizan las siguientes tablas: 

Kolmogorov-Smirnov: http://www4.ujaen.es/~mpfrias/TablasInferencia.pdf

Chi-Cuadrado: http://labrad.fisica.edu.uy/docs/tabla_chi_cuadrado.pdf

La prueba de Chi-cuadrado para probar uniformidad es definida a continuación:


La prueba de Kolmogorov-Smirnov también es utilizada para probar uniformidad:


Las pruebas más utilizadas para probar aleatoriedad son:

1. Prueba de promedios
2. Prueba de frecuencias
3. Prueba de series
4. Prueba de Kolmogorov-Smirnov
5. Prueba del Poker

Estos son algunos números aleatorios para realizar las pruebas antes mencionadas, son un extracto del libro guía Fundamentos Básicos de Simulación Industrial del profesor Javier Fernández.






jueves, 15 de febrero de 2018

4.Selección de parámetros en los generadores congruenciales

La generación de números pseudoaleatorios resulta ser indispensable en la simulación para modelar comportamientos de variables al azar, por lo tanto, se debe garantizar que la metodología de generación sea confiable, garantizando las propiedades de los números aleatorios.

El siguiente gráfico ilustra la manera de seleccionar los parámetros de los generadores congruenciales lineales para garantizar el periodo largo de la serie aleatoria, la independencia de los datos y la no correlación.


  • a, b y m afectan el periodo y la autocorrelación.
  • Un valor grande del módulo m permite obtener un periodo largo.
  • Para que el cálculo de mod m sea eficiente, m debe ser una potencia de 2.
  • Para b diferente de cero, el mayor periodo posible m se obtiene si y sólo si b y m no tienen factores comunes distintos de 1.
  • Cada número primo que es factor de m es también factor de a-1.
  • Si el entero m es un múltiplo de 4, a-1 debe ser múltiplo de 4.
  • Para c, b y k enteros positivos, las condiciones se cumplen si m=2k, a=4c+1 y b es impar.




lunes, 12 de febrero de 2018

3. Números aleatorios

Un número aleatorio es una variable aleatoria con distribución uniforme entre (0,1), esta tiene 2 propiedades básicas:
-Distribución uniforme entre 0 y 1.
-Los números generados poseen independencia estadística. 

En general, la esperanza de las observaciones es de 1/2 y la varianza de 1/12.



Para revisar cómo chequear la independencia estadística, se dejan estos dos recursos:


Un generador de números aleatorios es un procedimiento que tiene las siguientes características:
-Uniformidad
-Independencia
-Reproducibilidad
-Periodo largo
-Eficiencia computacional
-Poco espacio de almacenamiento 
-Portabilidad

Un generador de números aleatorios no es el término correcto para definirlo, ya que un generador es un procedimiento matemático determinista, el término correcto es generador de números pseudoaleatorios. Existen tres métodos para obtener números aleatorios:
  • Métodos manuales:
    • Tablas, tómbolas, azar,
  • Métodos mecánicos:
    • Ruletas, ruedas
  • Métodos digitales:
    • Necesidad de muchos números
    • Corporación RAND: con impulsos de sonido, pero…problemas de memoria
    • Fórmulas recursivas (sensibles al valor inicial) Ideados por Von Newman
Para generar números pseudoaleatorios se puede recurrir a los siguientes métodos o procedimientos:
-Cuadrados centrales
-Productos centrales
-Métodos congruenciales: estos últimos son de tres formas:





El siguiente vídeo ilustra de manera general el proceso de generación de números pseudoaleatorios:



martes, 30 de enero de 2018

2. Conceptualización modelos: diagramas de flujo

Concepto de Diagrama de Flujo

Representación gráfica ampliamente utilizada como herramienta de  análisis en ingeniería, administración y ciencias,  ya que permite identificar aspectos relevantes de una manera rápida y simple de un proceso o sistema, a través de los pasos, actividades, entradas y salidas.
El diagrama de flujo representa la forma más tradicional para especificar los detalles algorítmicos y procedimentales de un proceso.


En este mismo blog se puede encontrar una definición más precisa y la inclusión de ejercicios a desarrollar sobre esta temática.

https://simsyst.blogspot.com/2020/02/diagramas-de-flujo.html

martes, 16 de enero de 2018

1. Mapa conceptual de la Simulación

La simulación conforma todo un cuerpo conceptual, que puede ser explicado a partir del siguiente esquema de trabajo:


La simulación por lo tanto es un conjunto de conceptos, técnicas y herramientas, las cuales involucran una gran cantidad de áreas del conocimiento propias de las ciencias básicas y la ingeniería, que busca como objetivo principal, la solución de problemas por medio de una metodología matemática para la toma de decisiones basada en evidencia fuertemente cuantitativa.

Diversos autores han definido la simulación como:

Banks, Carson & Nelson: Una simulación es la imitación de la operación de un proceso o sistema del mundo real a lo largo del tiempo. Bien sea que se haga a mano o en computador, la simulación involucra la generación de una historia artificial de un sistema para hacer inferencias acerca de las características operativas del  sistema real.

Shannon: Proceso de diseñar un modelo computarizado de un sistema (o proceso) y conducir experimentos  con el propósito de entender el comportamiento del sistema o de evaluar estrategias para operar el  sistema.

Kelton, Sadowski y Sturrock: La simulación se refiere a una amplia colección de métodos y aplicaciones que imitan el  comportamiento de sistemas reales, usualmente en un computador, con el software apropiado.

¿Qué es la simulación de sistemas?
Proceso de diseñar un modelo de un sistema real y  conducir experimentos con ese modelo, con  el propósito de:
  • Entender el comportamiento del sistema.
  • Evaluar estrategias para la operación del sistema.
  • Diseñar nuevos sistemas (que no existen).
Técnicas de simulación 

El tipo de simulación depende de la naturaleza del sistema y del problema.



¿Cuales son los elementos de la simulación de sistemas?

  • Sistema
  • Analista
    • Construye un modelo del sistema de interés.
    • Escribe un programa que contenga el modelo.
    • Usa un computador para imitar el comportamiento del sistema  cuando se somete a distintas políticas de operación.
    • Define una medida de desempeño del sistema para comparar las políticas.

  • Modelo
  • Programa de computador
  • Análisis
    • Definición de políticas.
    • Definición de medidas de desempeño.
    • Experimentación.
Pasos de la simulación de sistemas y metodología


¿Por qué utilizar simulación?
  • Porque algunos problemas matemáticos o de   sistemas no tienen solución analítica.
  • Porque la experimentación en sistemas reales suele  ser costosa
  • Porque investiga estrategias posibles.




Covid 19 Práctica Rmarkdown

covid covid Julian Uribe 2023-12-05 ## ── Attaching core tidyverse...