modulo simulacion unad

163
Curso de Simulación Ing. Carlos Andres Ruiz Romero SIMULACIÓN CARLOS ANDRES RUIZ ROMERO Ingeniero de sistemas Especialista en Telemática UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD CEAD - ACACIAS, 2007

Upload: ozzy-manson

Post on 22-Dec-2015

141 views

Category:

Documents


2 download

DESCRIPTION

Material didactico sobre simulacion y teoria de colas

TRANSCRIPT

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

SIMULACIÓN

CARLOS ANDRES RUIZ ROMERO Ingeniero de sistemas

Especialista en Telemática

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

CEAD - ACACIAS, 2007

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CONTENIDO TEMÁTICO

UNIDAD I

CAPITULO 1: INTRODUCCIÓN Y CONCEPTOS FUNDAMENTALES

• Lección 1 Sistemas parte I

o Sistemas complejos

o Comunicación e información en los sistemas

o Estructura SAO y observatorio de un sistema

• Lección 2 Sistemas parte II

o Representación gráfica para sistemas complejos

o Representación matemática para sistemas

• Lección 3 Conceptos Elementales de Sistemas

o Enfoque de sistemas

o Conceptos de sistemas

o Propiedades o Jerarquía de sistemas

• Lección 4 Introducción a la simulación

o Definiciones de simulación

o Ventajas y Desventajas

o Metodología

o Riesgos o Problemas

o Áreas de aplicación

• Lección 5 Modelado de sistemas

o Introducción

o Definición de modelo

o Estructura de los modelos de simulación

o Las condiciones de los modelos

o Características de un modelo de simulación

o Clasificación de los modelos

o Criterios para realizar un buen modelo

o Riesgos de la elaboración de modelos

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 2: SIMULACIÓN DETERMINISTA Y ALEATORIA

• Lección 6 Simulación aleatoria discreta

• Lección 7 Generación de números pseudoaleatorios

•Introducción

•Generadores Congruenciales Lineales

(Mixto, Multiplicativo)

• Lección 8 Generadores Congruenciales lineales

• Lección 9 Pruebas Estadisticas para Números Pseudoaleatorios

• Lección 10 Simulación Discreta

CAPITULO 3: SIMULACIÓN EN HOJAS DE CÁLCULO Y LENGUAJES DE SIMULACION

• Lección 11 Simulación en Hojas de Cálculo

• Lección 12 Lenguajes de Simulación

• Lección 13 Introducción a GPSS

• Lección 14 Ejemplos de Lenguajes de

Simulación

UNIDAD II CAPITULO 4: LÍNEAS DE ESPERA Y DINAMICA DE SISTEMAS

• Lección 15 Introducción a las Líneas De Espera

o Líneas De Espera Y Teoría De Formación De Colas

o Estructura De Una Línea De Espera.

o Clasificación De Kendall, Lee Y Taha

o Glosario De Términos Generales

o Clasificación de las líneas de espera

o Ejemplos

o Conclusiones

• Lección 16 Líneas De Espera y Teoria de formación de colas

o Generalidades

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 17 Clasificación de las Líneas De Espera

o Conceptos básicos

• Lección 18 Transporte

o Enfoques de para modelar flujo de tráfico vehicular

o Conceptos a considerar

o Modelos de asignación de equilibrio.

o Aplicación Dynameq

o Características de Dynameq

o Datos de entrada Dynameq

o Diagrama de flujo

o Salidas Dynameq

o Manual de usuario Dynameq

• Lección 19 Modelos a de Asignación de equilibrio

CAPITULO 5: DINAMICA DE SISTEMAS Y TEORIA DE INVENTARIOS • Lección 20 Conceptos básicos

• Lección 21 Historia de Dinámica de Sistemas • Lección 22 Diagramas Causales o Influencia • Lección 23 Diagramas de Forrester • Lección 24 Metodologia para construcción de un modelo Dinámico de Sistemas CAPITULO 6: TEORIA DE INVENTARIOS • Lección 25 Clasificación de los modelos de Inventarios • Lección 26 CComponentes de los modelos de Inventarios • Lección 27 Modelo Determinístico • Lección 28 Modelos Estocasticos • Lección 29 Políticas de gestión

o Aplicación

o Conclusiones

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

UNIDAD III

CAPITULO 7: SISTEMAS BASADOS EN AGENTES • Lección 30 Dimensiones de los agentes • Lección 31 Arquitectura de sistemas de agentes

o Ejemplos

o Dimensiones de los agentes • Lección 32 Agentes Software • Lección 33 Sistemas Multiagente • Lección 34 Automátas Celulares

o Utilidad

o Características

o Tipos de autómatas celulares CAPITULO 8: INTRODUCCION A LOS SISTEMAS BASADOS EN EL CONOCIMIENTO

• Lección 35 Modulos basicos de Representación del Conocimiento

• Lección 36 Lenguajes para la representación del conocimiento • Lección 37 Eficiencia en Sistemas de Reconocimientote patrones • Lección 38 Arboles de Decisión • Lección 39 Representacion de Conocimientos

CAPITULO 9: MICROMUNDOS

• Lección 40 Introduccion, Definición y elementos • Lección 41 Sistemas Complejos, Agentes y Algoritmos

Bioinspirados • Lección 42 Intiligencia de Enjambres • Lección 43 Colonias de Hormigas, Modelo Real, Modelo Virtual

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 1: INTRODUCCIÓN

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 1 Sistemas parte I

1. SISTEMAS MODELOS Y SIMULACIÓN

1.1 INTRODUCCIÓN

El proceso de comunicación en un sistema es más complejo de lo que a simple

vista parece. Ello conlleva, a un flujo de datos, información y conocimiento,

analogías con lo que sucede en algunos sistemas naturales (como el ser

humano), simulando la actividad de un médico, diagnosticar el estado de salud

del objeto de estudio.

1.2 SISTEMAS COMPLEJOS

1.2.1 Concepto de sistema

Se entiende por sistema a una estructura funcional que se caracteriza por que

tiene un conjunto de entidades y diversas propiedades que determinan las

relaciones atemporales bien sean estocásticas, determinísticas y/o difusas a un

nivel de resolución dado.

Relaciones atemporales son vínculos entre entidades sin tener en cuenta la

variable tiempo el nivel de resolución es la determinación de los conjuntos, de

los valores de todas las cantidades junto con una colección de aquellos

instantes en el tiempo, en los cuales deseamos obtener los valores Cuando

tales conjuntos son difusos se requiere establecer su función de pertenencia

cuando son estocásticos es necesario determinar las funciones de probabilidad

que lo rigen.

La Figura 1 ilustra gráficamente la noción de sistema:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Por notación,

Sistema con señales de entrada y señales de salida.

Para el análisis de cualquier sistema, se recurre a los siguientes conceptos:

Conceptos

Señales de Entrada

Actividad

Señales de Salida

Coordinación

RetroInformación

Estructura

1.2.2 Características de los sistemas

Concepto

Homeóstasis

Diferenciación

Inercia

Dinamismo

Dialéctica [3]

Teleológica

Entropía

Cada sistema posee sus características particulares.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

1.2.3 Estructura de un sistema

La estructura y la estructura y se escribe: . La

estructura (universo del discurso del sistema) corresponde a las entidades

y sus relaciones la estructura corresponde a los posibles estados y

transiciones en el sistema.

Un sistema debe hacerse oír, comprender y diferenciar.

Los sistemas, emiten mensajes, los cuales deben coordinarse para lograr

efectividad a nivel semántico, sintáctico y pragmático.

1.3 ESTRUCTURA SAO Y OBSERVATORIO DE UN SISTEMA

Un sistema nunca estará aislado (en principio) siempre deberá estar inmerso

en un ambiente o contexto (usualmente dinámico e imprevisible).

Adicionalmente, no suena mal la idea de considerar un tercer componente en

esta interacción. Un componente que vigile que sea observador del sistema en

estudio actuando en el contexto determinado y que diagnostique e influya sobre

el quehacer de la estructura funcional en estudio.

La Figura 2, estructura Sistema Ambiente Observatorio (SAO)

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Propone y realiza una serie de métricas, mide el sistema de una forma genérica

y determina, su estado. Las principales labores a cargo de este subsistema

son:

• Monitoreo del sistema

• Soporte a la toma de de decisiones

• Determinación de características del sistema

Se busca es el descubrimiento de leyes generales que gobiernan la actividad

del sistema.

• Lección 2 Sistemas parte II

o Representación gráfica para sistemas complejos

El lenguaje gráfico que se presenta a continuación es una adaptación de las

Técnicas de Análisis y Diseño Estructurado SADT .El lenguaje SADT se

conoce como lenguaje de análisis estructurado (SA).

El método SADT está formado por un conjunto ordenado de diagramas SA.

Tipos básicos de diagramas SA .

� Actigrama

� Datagrama

� ACTIGRAMA: Diagrama de actividades

Los nodos denotan actividades y los arcos especifican flujos de datos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La Figura 3 muestra el formato de los nodos del actigrama.

Entradas controles mecanismos salidas La intensidad del color de la flecha

representa la importancia relativa con respecto a las demás flechas el estilo de

la línea representa el carácter estocástico, difuso o determinístico de acuerdo a

si son punteadas, línea punto o continuas respectivamente.

� DATAGRAMA: Diagramas de datos

Especifican datos en los nodos y actividades en los arcos. Los diagramas de

datos y de actividades son duales. son importantes (1) Para indicar todas las

actividades afectadas por un dato y (2) para verificar la integridad y

consistencia de un modelo SADT.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La Figura 4 muestra el formato característico de un nodo de diagrama de

datos.

Las entradas y salidas son actividades mientras que los rectángulos denotan

los datos o información.

Cuatro tipos distintos de arcos. El lado izquierdo del nodo son entradas, Los

arcos que entran por la parte superior son de control los que entran por la parte

inferior especifican mecanismos o procesadores que llevan a cabo la actividad.

Las salidas proporcionan entrada y controles para otros nodos

Características estructurales en los datagramas.

Observando la Figura 5 , es la entrada externa al diagrama y es un

control externo, la salida de la actividad es una entrada para las

actividades , , . Las actividades y pueden llevarse a cabo en

paralelo, la salida controla a la actividad , por lo cual debe esperar, la

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

salida de la actividad retroalimenta como control a , las salidas del

diagrama son y . Los mecanismos se indican por hasta .

Figura 5: Representación típica de un sistema mediante Actigramas

• Lección 3 Conceptos Elementales de Sistemas

o Enfoque de sistemas

o Conceptos de sistemas

o Propiedades

o Jerarquía de sistemas

Enfoque de sistemas:

La aparición del Enfoque de sistemas, nace con la manifestación de la ciencia

en resolver problemas complejos establecidos por el mundo teniendo en cuenta

el interés de un trabajo interdisciplinario, las analogías y funcionamiento de las

ciencias biológicas; es una forma de pensar en la confrontación de la

problemática buscando visualizar y considerar todos los elementos que

intervienen en un problema., buscando no ser reduccionistas.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Conceptos de sistemas:

Definimos: un sistema como un conjunto interconectado de elementos cuya

“estructura” determina todas las modalidades del “comportamiento” dinámico.

El comportamiento se refiere a los valores de las variables de sistemas a lo

largo del tiempo. La “estructura” se puede describir como el numero,

disposición, polaridad y orden de los bucles de retroalimentación en el modelo

del sistema [1].

Sistemas: un conjunto de partes coordinadas para alcanzar ciertos objetivos, y

que entendemos por “partes coordinadas” , específicamente el objetivo es

definir cuidadosamente y en detalle cual es el sistema total, el medio en que se

encuentra, sus objetivos, sus partes y cómo estas partes apoyan el logro de

esos objetivos. [2].

Sistemas: Es una colección de entidades relacionadas, cada una de las cuales

se caracteriza por atributos o características que pueden estar relacionados

entre sí. Los objetivos que se persiguen al estudiar uno o varios fenómenos en

función de un sistema son aprender cómo cambian los estados, predecir el

cambio y controlarlo.

Todo sistema consta de tres características. Tienen fronteras, existe dentro de

un medio ambiente y tiene subsistemas. El medio ambiente es el conjunto de

circunstancias dentro de las cuales está una situación problemática, mientras

que las fronteras distinguen las entidades dentro de un sistema de las

entidades que constituyen su medio ambiente.

Sistema: Es una estructura dinámica de personas, objetos y procedimientos

organizados para el propósito de lograr ciertas funciones. [3].

Sistemas es definido como una colección de elementos que continuamente

interactúan sobre el tiempo para formar un todo unificado. El modelo

fundamental de interacción entre los elementos de un sistema es llamado la

estructura del sistema.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Propiedades:

� COMPONENTES:

Son las partes de un conjunto que forman el sistema

� VARIABLES:

Pueden ser de dos tipos (Exógenos, Endógenos)

- Exógenas: son del entorno en términos de matemática (X), el sistema no

puede cambiar mucho por cambiar su comportamiento también llamadas de

entrada o entorno.

- Endógenas: son producto del sistema también llamadas matemáticamente

las (Y), las independientes también llamadas variables de decisión.

- Estado: representan el estado de uno o varios componentes del sistema en el

tiempo, sirven para determinar las relaciones funcionales.

- Salida: Son aquellas variables que resultan del sistema

Estadísticamente a las variables exógenas se las denomina como variables

independientes

� PARAMETROS: identifican diferentes variaciones del problema, esto

con ayuda de un equipo interdisciplinario.

Los parámetros una vez establecidos se convierten en constantes.

� RELACIONES FUNCIONALES: deben explicar cómo se producen la

dinámica del sistema la explicación debe ser matemática.

Las relaciones funcionales pueden ser de tipo determinísticos o estocásticos.

- Determinísticas: Sus definiciones que relacionan ciertas variables o

parámetros donde una salida del proceso es singularmente determinada por

una estrada dada.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

- Estocásticas: Cuando el proceso tiene una salida indefinida, para una entrada

determinada las relaciones funcionales se representan por ecuaciones

matemáticas y salen del análisis estadístico matemático.

� RESTRICCIONES:

Estas son limitaciones impuestas a valores de las variables las cuales pueden

ser de dos formas:

- Autoimpuestas: O sea asignadas por el mismo operador o

Jerarquía de sistemas

Subsistemas.

Un subsistema es "Un elemento o componente funcional de un sistema

mayor que tiene las condiciones de un sistema en sí mismo, pero que

también tiene un papel en la operación de un sistema mayor”

Suprasistema.

El suprasistema es un sistema mayor a cuya función global el sistema está

contribuyendo y del cual forma parte.

Frontera.

La frontera de un sistema representa el límite de acción en donde tiene

autoridad la persona que toma decisiones en ese sistema. La frontera

delimita lo que es y lo que no es el sistema.

Ambiente.

El ambiente de un sistema es todo lo está situado fuera de su frontera.

Sistema parcial

Un sistema parcial es una visión del sistema en la cual parte de las

relaciones, aquellas que no son relevantes al aspecto del sistema que se está

estudiando, son eliminadas.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 4 Introducción a la simulación

o Definiciones de simulación

o Ventajas y Desventajas

o Metodología

o Riesgos o Problemas

o Áreas de aplicación

Introducción a la simulación

Aunque la construcción de modelos arranca desde el renacimiento, el uso de

moderno de la palabra simulación data del 1940, cuando los científicos Von

Neuman y Ulam que trabajaban en el proyecto de Monte Carlo, durante la

segunda Guerra Mundial resolvieron problemas de análisis matemático

demasiado complicado. Con la computadora y experimentos de simulación,

surgieron incontables aplicaciones y con ello, una cantidad mayor de

problemas teóricos y prácticos.

La simulación es el desarrollo de un modelo lógico-matemático de un sistema,

de tal forma que se obtiene una imitación de la operación de un proceso de la

vida real o de un sistema a través del tiempo, La simulación de sistemas

ofrece un método para analizar el comportamiento de un sistema.

La elaboración e implementación de grandes proyectos de inversión requieren

estudios lógicos-matemáticos complejos es por ello indispensable realizar

estudios preliminares para asegurar su conveniencia de acuerdo a su eficiencia

y ejecución económica para proyectos de cualquier tamaño.

Definiciones de simulación. Algunas de las definiciones aceptadas y

difundidas de la palabra simulación.

Por THOMAS H. NAYLOR la definen así:

Simulación: es una técnica numérica para conducir experimentos en una

computadora digital. Estos experimentos comprenden ciertos tipos de

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

relaciones matemáticas y lógicas, las cuales son necesarias para describir el

comportamiento y la estructura de sistemas complejos del mundo real a través

de largos periodos de tiempo.

Por H. MAISEL Y G. GNUGNOLI, definen así:

Simulación: Es una técnica numérica para realizar experimentos en una

computadora digital, estos experimentos involucran ciertos tipos de modelos

matemáticos y lógicos que describen el comportamiento de sistemas de

negocios, económicos, sociales, biológicos, físicos o químicos a través de

largos periodos de tiempo.

Por ROBERT E. SHANNON definen así:

Simulación: Es el proceso de diseñar y desarrollar un modelo computarizado

de un sistema o proceso y conducir experimentos con este modelo con el

propósito de entender el comportamiento del sistemas o evaluar varias

estrategias con las cuales se puede operar el sistema.

Por H. MAISEL Y G. GNUGNOLI definen así:

simulación es una técnica numérica para realizar experimentos en una

computadora digital. estos experimentos involucran ciertos tipos de modelos

matemáticos y lógicos que describen el comportamiento de sistemas de

negocios, económicos, sociales, biológicos, físicos o químicos a través de

largos periodos de tiempo.

Ventajas y Desventajas.

Ventajas:

1. Es mucho más sencillo comprender y visualizar los métodos de

simulación que los métodos puramente analíticos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

2. Una vez construido, el modelo puede ser modificado de manera rápido

con el fin de analizar diferentes políticas o escenarios.

3. Los métodos analíticos se desarrollan casi siempre, para sistemas

relativamente sencillos donde suele hacerse un gran número de

suposiciones o simplificaciones, mientras que con los modelos de

simulación es posible analizar sistemas de mayor complejidad o con

mayor detalle.

4. Permite evaluar diferentes alternativas.

5. Permite experimentar sin interferir con el mundo real.

6. La técnica de simulación puede ser utilizada como un instrumento

pedagógico para enseñar a estudiantes habilidades básicas en el

análisis estadístico, análisis teórico.

7. La simulación de sistemas complejos puede ayudar a entender mejor la

operación del sistema, a detectar las variables mas importantes que

interactúan en el sistema y a entender mejor las interrelaciones entre

estas variables.

8. La técnica de simulación se puede utilizar también para entrenamiento

de personal.

9. La técnica de simulación puede experimentar con nuevas situaciones,

sobre las cuales se tiene poca información.

Desventajas:

1. Difícil de modelar y entender.

2. Los modelos de simulación en una computadora son costosos y

requieren mucho tiempo para desarrollar y validarse.

3. Los modelos de simulación no dan resultados óptimos.

4. La solución de un modelo de simulación puede dar al analista un falso

sentido de seguridad.

5. requieren largos periodos de desarrollo.

6. Un buen modelo de simulación puede resultar bastante costoso; a

menudo el proceso es largo y complicado para desarrollar un modelo.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Metodología:

• Definición del sistema: para determinar la definición del problema, debe

realizarse un buen análisis, por lo tanto debe tomar en cuenta la interacción

con otros sistemas, determinar los limites o fronteras, las restricciones y los

métodos a utilizar.

• Formulación del modelo: definir y construir un modelo, con variables que

forman parte de él, sus relaciones lógicas.

• Colección de datos: Identificación de los datos que el modelo requiere y

reducción de estos a una forma adecuada.

• Selección del lenguaje: seleccionar el lenguaje de simulación, es importante

utilizar el lenguaje que mejor se adecué a las necesidades de simulación que

se requieran. La selección puede ser desde usar un lenguaje general como lo

es BASIC, PASCAL o FORTRAN hasta hacer uso de un paquete

específicamente para simular sistemas de manufactura como el SIMFACTORY

o el PROMODEL, o lenguajes de Simulación como: GPSS, SLAM, SIMAN,

SIMSCRIPT, etc.

• Translación del modelo. Consiste en generar las instrucciones o código

computacional o necesario para lograr que el modelo pueda ser ejecutado en la

computadora.

• Validación: las formas mas comunes de validar un modelo son:

1. La opinión de los expertos sobre los resultados de la simulación.

2. La exactitud con que se predicen datos históricos.

3. La exactitud en la predicción del futuro.

4. La comprobación de falla del modelo de simulación al utilizar

datos que hacen fallar al sistema real.

5. la aceptación y confianza en el modelo de la persona que hará

uso de los resultados que arroje el experimento de simulación.

• Experimentación: Corrida de la simulación para generar los datos

deseados y efectuar análisis de sensibilidad.

• Interpretación: Obtención de inferencias con base en datos generados

por la simulación.

• Implantación. Una vez seleccionada la mejor alternativa es importante

llevarla a la práctica, en muchas ocasiones este último caso es el más difícil

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

ya que se tiene que convencer a la alta dirección y al personal de las ventajas

de esta puesta en marcha. Al implantar hay que tener cuidado con las

diferencias que pueda haber con respecto a los resultados simulados, ya que

estos últimos se obtienen, si bien de un modelo representativo, a partir de

una suposiciones.

• Monitoreo y control: No hay que olvidar que los sistemas son dinámicos y

con el transcurso del tiempo es necesario modificar el modelo de simulación,

ante los nuevos cambios del sistema real, con el fin de llevar a cabo

actualizaciones periódicas que permitan que el modelo siga siendo una

representación del sistema.

• Documentación: dos tipos de documentación son requeridos para hacer un

mejor modelo de simulación; documentación de tipo técnica: es decir, la

documentación que el departamento de datos debe tener del modelo, la

segunda se refiere al manual del usuario con el cual se facilita la interacción y

el uso del modelo desarrollado.

Riesgos o Problemas:

• Definir los límites y nivel de detalles del sistema.

• Subestimar el tiempo y costos involucrados en el proceso de modelación.

• Fallar en la selección del más simple y económico de los modelos para el

fin establecido.

• Ausencia o pérdida de metodología estadística.

• Considerar como aproximados algunos atributos de un sistema que no

existe.

• Entendimiento superficial del sistema a ser modelado.

• Poca destreza para comunicarse con administradores y staff que

financiarán el proyecto.

Áreas de aplicación: La Simulación es una técnica de gran aplicación en

muchas áreas debido a su gran utilización algunos ejemplos de las

aplicaciones son:

- Ciencias básicas.

- Economía.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

- Social

- Ingeniería

- Industrial

- Civil

- Teoría de la información

- Teoría gráficos

- Teoría de de juegos

- Teoría de la decisión

- Estados Financieros

- Proyectos de inversión.

Ejemplos de usos de simulación en las diferentes áreas:

Existen muchas áreas donde la simulación puede ser explicada como las

siguientes:

Simulación basada en colas: con esta técnica es posible estudiar y analizar

sistemas de colas, cuya su representación matemática es bastante compleja.

Ejemplos de estos sistemas seria aquellos donde es posible la llegada al

sistema en grupo, la salida de la cola del sistema, el rehusar entrar al sistema

cuando la cola es excesivamente grande.

Simulación de un sistema de inventarios: se pueden analizar sistemas de

inventarios se pueden analizar fácilmente sistemas donde sus parámetros

(tiempo de entrega, demanda, costo de llevar inventario, son estocástico.)

Simulación de un proyecto de inversión: una gran cantidad de proyectos de

inversión genera o maneja una gran incertidumbre con respecto a los flujos de

efectivo que el proyecto genera a las tasas de interés, a las tasas de inflación,

porcentaje de pérdidas, de ganancias, para este tipo de situaciones el uso de la

simulación es ampliamente recomendado.

Simulación de sistemas económicos: puede ser utilizado para evaluar el

efecto de cierto tipo de desiciones, devaluación de la moneda, el impuesto al

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

valor agregado, en las demás variables macroeconómicas como: producto

nacional bruto, balanza comercial, inflación, oferta monetaria, etc.

Simulación de estados financieros: el uso de esta técnica permite analizar

cuales estrategias de crecimiento son las que llevaran a la organización al

logro de sus objetivos y metas de corto, mediano y largo plazos.

• Lección 5 Modelado de sistemas

o Introducción

o Definición de modelo

o Estructura de los modelos de simulación

o Las condiciones de los modelos

o Características de un modelo de simulación

o Clasificación de los modelos

o Criterios para realizar un buen modelo

o Riesgos de la elaboración de modelos

Introducción:

Desde el surgimiento mismo de la computación y a lo largo de toda su

evolución se ha intentado modelar o simular el pensamiento humano y los

procesos que ocurren en él. En los inicios solo se trataba de representar en las

computadoras el pensamiento estructurado, los algoritmos de cálculos que

podían definirse claramente como un conjunto de pasos que podían ser

interpretados por las máquinas y de cierta forma sustituir o contribuir a elevar la

eficiencia del ser humano en este tipo de actividades. Con el tiempo se fueron

introduciendo técnicas de inteligencia artificial mucho más ambiciosas, los

robots empleados en diferentes esferas de la vida económica y social son una

muestra de ello.

La modelación de sistemas es una metodología aplicada y experimental que

pretende:

1. Describir el comportamiento de sistemas.

2. Hipótesis que expliquen el comportamiento de situaciones problemática.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

3. Predecir un comportamiento futuro, es decir, los efectos que se

producirán mediante cambios en el sistema o en su método de operación.

Definiciones de modelo:

Modelo: es una representación de la realidad desarrollada con el propósito de

estudiarla.

Modelo: es una simplicación de una situación de la vida real.

Modelo: Un modelo es una invención de algo que inventamos para explicar

una serie de datos que queremos interpretar.

Esquema de un modelo:

Un modelo puede explicar y representar ideas, definiciones complejas difíciles

de entender, por lo tanto es una situación precisa y hace la comunicación

eficiente y efectiva.

Estructura de los modelos de simulación

Los componentes son las partes constituyentes del sistema. También se les

denomina elementos o subsistemas.

Modelo Variables

Parámetros Condiciones

Variables

Variables

Condiciones

Parámetros

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Las variables son aquellos valores que cambian dentro de la simulación y

forman parte de funciones del modelo o de una función objetivo.

Los parámetros son cantidades a las cuales se les asignar valores, una vez

establecidos los parámetros, son constantes y no varían dentro de la

simulación.

"Las relaciones funcionales muestran el comportamiento de las variables y

parámetros dentro de un componente del sistema. Estas características

operativas pueden ser de naturaleza determinística o estocástica. Las

relaciones determinísticas son identidades o definiciones que relacionan ciertas

variables o parámetros, donde una salida de proceso es singularmente

determinada por una entrada dada. Las relaciones estocásticas son aquellas

en las que el proceso tiene de manera característica una salida indefinida para

una entrada determinada.

Las restricciones son limitaciones impuestas a los valores de las variables o la

manera en la cual los recursos pueden asignarse o consumirse. En las

funciones de objetivos se definen explícitamente los objetivos del sistema y

cómo se evaluarán, es una medida de la eficiencia del sistema.

Condiciones de los modelos:

• Complejidad de la interrelación entre factores que definen un sistema.

• Preparación del tomador de decisiones.

• Incapacidad de clasificar los hechos relevantes e irrelevantes y cómo pueden

afectarse al implementar decisiones.

• Diseño o modificación de sistemas evaluando diferentes alternativas.

• Menor costo que en sistemas reales la toma de decisiones.

• La inexistencia del sistema real.

• Implementar sistemas para tomar decisiones genera grandes atrasos y se

incurre en la posibilidad que el sistema implementado sea insatisfactorio.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Características de un modelo de simulación

• Que sea completo

• Adaptabilidad

• Credibilidad

• Simplicidad (menor número de parámetros)

• Factible tanto en Información como en recursos

• Económico (el costo máximo del modelo debe ser el mínimo beneficio que se

obtiene)

Clasificación de los modelos

Modelos icónicos: son modelos físicos que se asemejan al sistema real,

generalmente manejados en otra escala.

Modelos análogos: son los modelos en los que una propiedad del sistema se

puede sustituir por una propiedad diferente que se comporta de manera similar.

Modelos Simbólicos: son aquellos en los que se utilizan un conjunto de

símbolos en lugar de una entidad física para representar a la realidad.

Modelos determinísticos: en estos modelos, los valores de las variables no

se ven afectadas por variaciones aleatorias y se conocen con exactitud, un

ejemplo es modelo de inventarios.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Modelos estocásticos o probabilísticas: los valores de la variables de un

modelo estocástico sufren modificaciones aleatorias con respecto a un valor

promedio; dichas variaciones pueden ser manejadas mediante distribuciones

de probabilidad un ejemplo es la teoría de líneas de espera.

Modelos dinámicos: la característica de estos modelos es el cambio que

representan las variables en función del tiempo; son ejemplos la serie de

tiempo, pronósticos, y programación dinámica.

Modelos estáticos: representa un sistema en un punto particular del tiempo,

ejemplo la programación lineal.

Criterios para realizar un buen modelo: existen algunos criterios para tomar

en cuenta a la hora de formular o construir un modelo.

• Sencillo y fácil de entender para el usuario final

• Dirigido a metas u objetivos.

• Fácil de controlar y manipular por parte del usuario.

• Completo, en lo referente a asuntos importantes.

• Estratégico, pedagógico.

Riesgos de la elaboración de modelos:

Primero, no existe garantía alguna de que el tiempo y el trabajo dedicados a

establecer el modelo tendrá como resultado algo útil así como beneficios

satisfactorios. El fracaso suele ocurrir porque el nivel de recursos es demasiado

bajo. Sin embargo, a menudo el investigador se ha basado más en el método y

no suficientemente en el ingenio cuando el balance apropiado entre conducirá

a la mayor probabilidad de éxito.

La segunda advertencia se refiere a la tendencia del investigador de defender

su representación particular de un problema como la mejor que existe de la

realidad. Esta situación ocurre a menudo después de que ha invertido mucho

tiempo y trabajo esperando resultados útiles.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La tercera advertencia es la referente a la utilización del modelo para predecir

más allá del intervalo de aplicación sin la debida especificación. Por ejemplo,

puede diseñarse un modelo para pronosticar el comportamiento del sistema

para un periodo futuro. Si se toma el mismo modelo para predecir en dos

periodos futuros, debe especificarse de manera explícita a quienes lo utilizan

en el sentido de que en estas predicciones el periodo futuro de predicción no es

tan exacto como en el caso de la predicción para determinado periodo. Omitir

una especificación apropiada con respecto aun modelo de extrapolación da

como resultado quizás la única y mayor causa de la mala aplicación practica.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 2: SIMULACIÓN DETERMINISTA Y

ALEATORIA

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 6 Simulación aleatoria discreta

Simulación De Eventos Equiparables

Cuando las N operaciones de un evento aleatorio son equiparables

n = [r * N] + 1

r : Número aleatorio

n : Resultados de la simulación

[r * N] : mayor entero ≤ r * N

1. Ejemplo: Baraja de 52 cartas

Corazones, picas, diamantes y tréboles

r = 0.41n = [0.41 * 52] +1: 22 à 9 picas

Ejemplo de simulación Aleatoria

Dado

3 caras color amarillo

2 caras color azul $ 400

1 cara color rojo $ 600

Apuesta = $ 200

Construya las tablas de un proceso de simulación con base en las cuales se

establezca el tiempo de ventaja que le toma un ciclista desde un punto A a otro

B en una etapa con las siguientes características.

Tramo Clase de terreno Velocidad A Velocidad B

0 – 10 Plano 42 45

10 – 25 Subida 25 15

25 – 30 Bajada 10 100

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

DISTRIBUCIONES DISCRETAS

1. Bernoulli

Se presenta o no el evento, para una probabilidad P, la probabilidad de que no

ocurra es (1-p)

2. Binomial

k = 0, 1, 2,. . . n

p(k) = pk (1 – p)n-k

→ n números aleatorios, cuantos son menores o

iguales a p

Corresponden a la simulación de k

3. Poisson

Probabilidad de k sucesos en un tiempo T es:

Se simula tiempo entre llegadas (método de la inversa) y se acumula el tiempo

hasta que supere a T.

k = Nro de exponenciales

simuladas si tiempos = T

k = Nro de cap. simuladas –

1 si tiempo > T

Nro de veces que se realiza una simulación

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

V =

3,84 * (desviacion estandar)2

__________________________

error tolerable

Error tolerable

• 0,1 % del promedio à si consecuencias son graves

• 20% del promedio à si consecuencias son graves

= F(x) =∫f(x)dx

a) Distribución uniforme

f(t) =

1

____

b - a

t = r (b – a) + a

Ejemplo:12 a 1 PMr = 0.43

t = 0.43 (13 – 12) + 12 = 12.43 12:25:48

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

b) Distribución exponencial

T → 0 f(t) = µ * ℮-µt

F(t) = ∫f(t) = ∫ µ * ℮-µt dt

F(t) = 1 - ℮-µt = r

c) Distribución empírica

x si 0 ≤ x ≤ 1 f(x) =

½ si 1 < x ≤ 2

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 7 Generación de Números Pseudoaleatorios

Introducción: Durante un experimento de simulación el proceso de generar un

valor de la variable aleatoria de una distribución particular, puede repetirse

tantas veces como desee y tantas veces como distribuciones de probabilidad

existan en el experimento de la simulación. Sin embargo, es conveniente

señalar que el proceso de generación de variables aleatorias no uniformes se

hace a partir de la generación de números rectangulares por consiguiente, el

objetivo de esta lección es mostrar un panorama general de las diferentes

técnicas que existan para generar números rectangulares.

La importancia de los números rectangulares (distribución uniforme) radica en

su uso para la generación de variables aleatorias mas complicadas que son

requeridas en los experimentos de simulación. Estos números deben poseer

ciertas características deseables que aseguren o aumenten la confiabilidad de

los resultados obtenidos de la simulación, tales como:

1. Uniformemente distribuidos

2. Estadísticamente independientes

3. Reproducibles

4. Periodo largo (sin repetición dentro de una longitud determinada de la

sucesión)

5. Máxima velocidad de generación

6. Mínimo uso de memoria.

• Lección 8 Generadores Congruenciales Lineales

Estos números se consideran pseudoaleatorios porque aunque pasan

todas las pruebas estadísticas de aleatoriedad, ellos son de hecho

completamente derminísticos. Los dos métodos congruenciales sugeridos

por Lehmer son:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Generadores

Congruenciales Mixtos: los generadores congruenciales lineales generan una

secuencia de números pseudoaleatorios en la cual el próximo número

pseudoaletorio, son números que se obtienen mediante la siguiente relación de

congruencia (con a y c mayores que 0):

X n+1= (aXn + c ) mod m

Donde:

X 0 = la semilla (X 0 > 0 )

a = el multiplicador (a> 0)

c = constante aditiva (c > 0)

m = modulo (m > X 0 m> ay m> c)

Para el método mixto (BINARIO)

CRITERIOS:

1. m = b d ; b (base del sistema); d (tamaño de palabra)

2. d = entero impar no divisible por 3 o 5.

3. (a - 1) mod 4 = 0 si 4 factor de m, a = b k + 1; k>= 2

4. c = entero impar relativo a m

5. c = mod8 = 5.

6. X0 = cualquiera.

Mixto

Multiplicativos

Binario

Decimal

Decimal

Binario

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Posibles valores de Xn+1 son 0,1, 2…, m – 1

α = 5, C = 7, X0 = 4, m = 8

N Xn (5Xn+7) mod 8 Xn+1 Números Uniformes

0 4 3.375 3 3/8

1 3 - 6 6/8

2 6 - 5 5/8

3 5 - 0 0

4 0 - 7 7/8

5 7 - 2 2/8

6 2 - 1 1/8

7 1 - 4 4/8

Ejemplo:

a = X0 = C = 7 m = 10

n Xn (7Xn + 7) mod 100 Xn+1

Número

Uniforme

0 7 - 6 6/10

1 6 - 9 9/10

2 9 - 0 0

3 0 - 7 7/10

Para el método mixto (DECIMAL)

CRITERIOS:

1. m = b d ; b (base del sistema); d (valor de la matiza)

2. a = entero impar no divisible por 3 o 5.

3. (a - 1) mod 4 = 0 si 4 factor de m a = b k + 1; k>= 2

4. c = no es un entero impar relativo a m, no divisible por 5, c mod 200 =

21.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

5. X0 = Cualquiera.

En resumen:

Reglas de selección para un periodo completo

a) Selección de m

m : número primo lo mas grande posible

b) Selección de a

a : Entero impar no divisible entre 3 o 5

a = 22+1 → binario

102+1 → decimal

c) Selección de C

Cualquier constante entero impar y relativamente primo a m

C mod 8 = 5 → binario

C mod 200 = 21 → decimal

Para el método Multiplicativo (BINARIO)

CRITERIOS:

1. m = b d ; b (base del sistema); d (tamaño de palabra)

2. a = 8t + 3

3. t cualquiera entero

4. X0 entero impar primo relativo de m.

Para el método multiplicativo (DECIMAL)

CRITERIOS:

1. m = b d ; b (base del sistema); d (valor de la matiza)

2. a = 200 t +- p

3. p= 3, 11, 13, 19, 21, 27, 29, 37, 53, 59, 61, 67, 69, 77, 83, 91.

4. X0 entero impar no divisible entre 2 0 5 y debe ser primo de m relativo

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Ejemplo:

Xn+1 = aXn mod m

a = 3 X0 = 7 m = 16

n Xn 3Xn mod m Xn+1

Número

Uniforme

0 7 - 5 5/16

1 5 - 15 15/16

2 15 - 13 13/16

3 13 - 7 7/16

Ejercicio: Hallar periodo de

En resumen:

Reglas de selección

a) Semilla: Entero impar no divisible entre 2 o 5, relativamente primo a m

b) a = 200t ± p

t: entero

p: 3, 11, 13, 19, 21, 27, 29, 37, 53, 59, 61, 69, 77, 83, 91.

c) m = 10d

r = F(x) =∫f(x)dx

Xn+1 = 3Xn mod 100 X0 = 7

Xn+1= (8Xn + 16) mod 100 X0 = 15

Xn+1= (50Xn + 17) mod 64 X0 = 13

Xn+1 = 203Xn mod 105 X0 = 17

Xn+1 = 211Xn mod 108 X0 = 19

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

a) Distribución uniforme

f(t) =

1

____

b - a

t = r (b – a) + a

Ejemplo:12 a 1 PMr = 0.43

t = 0.43 (13 – 12) + 12 = 12.43 12:25:48

b) Distribución exponencial

t → 0 f(t) = µ * ℮-µt

F(t) = ∫f(t) = ∫ µ * ℮-µt dt

F(t) = 1 - ℮-µt = r

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

c) Distribución empírica

X si 0 ≤ x ≤ 1 F(x) =

½ si 1 < x ≤ 2

MÉTODO DE RECHAZO:

Generar números R1 y R2

1. x = a + (b – a)R1

2. Hallar f(x) = f(a + (b – a)R1)

3. Si R2 ≤f(x) / M → x es un valor simulado de la variable aleatoria, M →

moda

f(x) = 2x 0 ≤ x ≤ 1 x = 0 + (1 – 0)R1 R2 = R1

x = R1

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

MÉTODO DEL HISTOGRAMA

a) Construir un histograma

b) Selección de una aletoriedad

0.35 → 3 intervalo

c) Nueva generación aleatoria

0.69

Número simulado = 10 + 0.69 * (12 – 10) = 11.38

• Lección 9 Pruebas Estadísticas para Números Pseudoaleatorios

Los tests estadísticos más destacados están recogidos y especificados en los

FIPS 1401, de Enero de 1994 y FIPS 1402, en Noviembre de 1999. Las siglas

FIPS significan Federal Information Processing Standard y se publican

regularmente por el NIST (National Institute of Standards and Technology),

agencia federal estadounidense que se encarga de regular estándares y

medidas tecnológicas.

Los FIPS 1401 y 1402 están titulados "Security Requirements for Cryptographic

Modules" y pretenden establecer una serie de estándares que deben ser

seguidos por el gobierno federal estadounidense en particular, y cualquier

usuario serio de tecnología criptográfica en general. En ellos se establecen los

tests basados en la estadística que los módulos criptográficos que utilicen

generadores de números pseudoaleatorios deben pasar.

Para la ejecución de estos tests, se necesitan 20.000 bits consecutivos

producidos por el generador de números aleatorios. Estas secuencias deben

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

superar los siguientes tests, que se describen a continuación tal y como

aparecen en el FIPS 1402.

Test Monobit. Es un test de frecuencia. Este test pretende comprobar que la

muestra no cumple la primera característica de no-aleatoriedad, es decir que

los bits uno y los ceros están uniformemente distribuidos, basándose en el

primer postulado de Golomb.

El algoritmo especificado en el FIPS 1402 es muy simple:

Contar el número de bits iguales a uno en la secuencia de 20.000 bits.

Llamemos X a dicho número. El test se pasa si 9.275 < X < 10.275 (Error tipo I

de 0.0001).

Test Poker. Se basa en dividir la secuencia en segmentos de n bits. Si la

distribución es uniforme, las probabilidades de aparición de cada posible grupo

de n bits son conocidas. El curioso nombre se basa en que para n=5 las

probabilidades de cada grupo pueden corresponderse con las de las jugadas

del poker. Por supuesto, cuando se trabajan con secuencias binarias el nombre

resulta tan anecdótico como carente de sentido.

Algoritmo:

Dividir la secuencia de 20.000 bits en 5.000 segmentos contiguos de 4 bits.

Contar y almacenar el número de veces que ocurre cada uno de los 16 valores

posibles (0000,0001,...,1111). Se llama f(i) al número de veces que aparece el

valor i, 0<= i <= 15.

Evaluar la siguiente expresión:

X = (16/5000) * ( f(1)^2 + f(2)^2 + ... + f(15)^2) - 5000

El test se pasa si 2'16 < X < 46'17 (Error tipo I de 0.0001)

Test de Rachas. Se basa en el segundo postulado de Golomb visto

anteriormente. Una racha se define como una subsecuencia máxima de bits

consecutivos bien de unos bien de ceros que es parte de la secuencia inicial de

20.000 bits.

Algoritmo:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Se cuentan y almacenan las rachas de 1 o más bits, tanto de unos como de

ceros.

Para este test las secuencias de longitud superior a 6 se consideran de longitud

6.

El test se pasa si las rachas (de longitudes 1 a 6) están en los intervalos

especificados en la siguiente tabla. Esto debe ocurrir tanto para los ceros como

para los unos, es decir que las 12 rachas deben estar en los intervalos

especificados.

Intervalos requeridos para el test de rachas:

Longitud 1: (2.343, 2.657)

Longitud 2: (1.135, 1.365)

Longitud 3: (542, 708)

Longitud 4: (251, 373)

Longitud 5: (111, 201)

Longitud 6: (111, 201)

Utilización de números pseudoaleatorios

Existen dos tipos fundamentales de criptosistemas:

Criptosistemas simétricos o de clave privada. Son aquellos que emplean la

misma clave k tanto para cifrar como para descifrar. Presentan el inconveniente

de que para ser empleados en comunicaciones la clave k debe estar tanto en el

emisor como en el receptor, es por esto que necesitaremos una forma de

transmitir la clave de forma segura.

Criptosist. asimétricos o de llave pública, que emplean una doble clave (kp,

kP).

kp se conoce como clave privada y kP se conoce como clave pública. Una de

ellas sirve para la transformación de cifrado y la otra para la transformación de

descifrado. En muchos casos son intercambiables, esto es, si empleamos una

para cifrar la otra sirve para descifrar y viceversa. Estos criptosistemas deben

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

cumplir además que el conocimiento de la clave pública kP no permita calcular

la clave privada kp. Ofrecen un abanico superior de posibilidades, pudiendo

emplearse para establecer comunicaciones seguras por canales inseguros —

puesto que únicamente viaja por el canal la clave pública, que sólo sirve para

cifrar—, o para llevar a cabo autentificaciones.

Normalmente se utiliza una combinación de los dos tipos, ya que los

segundos tienen el inconveniente de ser computacionalmente mucho más

costosos que los primeros.

En el mundo real se codifican los mensajes (largos) mediante algoritmos

simétricos, que suelen ser muy eficientes, y luego se hace uso de la

criptografía asimétrica para codificar las claves simétricas (cortas).

Cifrados de flujo

En 1917, J. Mauborgne y G. Vernam inventaron un criptosistema perfecto

según el criterio de Shannon. Dicho sistema consistía en emplear una

secuencia aleatoria de igual longitud que el mensaje, que se usaría una única

vez (en inglés, one-time pad), combinándola mediante alguna función simple y

reversible (usualmente el or exclusivo) con el texto en claro carácter a carácter.

Este método presenta el grave inconveniente de que la clave es tan larga como

el propio mensaje, y si disponemos de un canal seguro para enviar la clave,

¿por qué no emplearlo para transmitir el mensaje directamente?

Evidentemente, un sistema de Vernam carece de utilidad práctica en la

mayoría de los casos, pero supongamos que disponemos de un generador

pseudoaleatorio capaz de generar secuencias criptográficamente aleatorias, de

forma que la longitud de los posibles ciclos sea extremadamente grande. En tal

caso podríamos, empleando la semilla del generador como clave, obtener

cadenas de bits de usar y tirar, y emplearlas para cifrar mensajes simplemente

aplicando la función xor entre el texto en claro y la secuencia generada. Todo

aquel que conozca la semilla podría reconstruir la secuencia pseudoaleatoria y

de esta forma descifrar el mensaje.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Uno de los primeros criptosistemas que explotaban la idea del generador

pseudoaleatorio fue el cifrado de Lorenz, empleado por Alemania en la II

Guerra Mundial, junto con la máquina ENIGMA. Este sistema se basaba en un

dispositivo que generaba una secuencia supuestamente imposible de

reproducir sin conocimiento de la clave, que se combinaba con los mensajes

para obtener los criptogramas. Por suerte para los expertos de Bletchley Park,

estas secuencias presentaban una sutil estructura que podía ser analizada

mediante técnicas estadísticas. Para ello un equipo de científicos, entre los que

se encontraba Max Newman, puso en práctica las ideas de Alan Turing y

desarrolló Colossus, el primer computador de la Historia, capaz de descifrar los

mensajes codificados mediante el sistema Lorenz.

Los criptosistemas de clave privada no son más que la especificación de un

generador pseudoaleatorio, y permiten cifrar mensajes de longitud arbitraria,

combinando el mensaje con la secuencia mediante la operación or exclusivo

byte a byte, en lugar de dividirlos en bloques para codificarlos por separado.

Como cabría esperar, estos criptosistemas no proporcionan seguridad perfecta,

ya que mientras en el cifrado de Vernam el número de posibles claves era tan

grande como el de posibles mensajes, cuando empleamos un generador

tenemos como mucho tantas secuencias distintas como posibles valores

iniciales de la semilla.

De entre los generadores de secuencia que se utilizan como cifrado de flujo

dos de ellos pensados para ser incorporados por software son.

Algoritmo RC4. Primero introduciremos aquí el concepto de S-Caja para

aquellos que lo desconozcan. Una S-Caja de m*n bits es una tabla de

sustitución que toma como entrada cadenas de m bits y da como salida

cadenas de n bits. La utilización de las S-Cajas es sencilla: se divide el bloque

original en trozos de m bits y cada uno de ellos se sustituye por otro de n bits,

haciendo uso de la S-Caja correspondiente. Normalmente, cuanto más grandes

sean las S-Cajas, más resistente será el algoritmo resultante, aunque la

elección de los valores de salida para que den lugar a un buen algoritmo no es

una tarea sencilla.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

El algoritmo RC4 fue diseñado por Ron Rivest en 1987 para la compañía RSA

Data Security. Su implementación es extremadamente sencilla y rápida, y está

orientado a generar secuencias en unidades de un byte, además de permitir

claves de diferentes longitudes. Por desgracia es un algoritmo propietario, lo

cual implica que no puede ser incluido en aplicaciones de tipo comercial sin

pagar los royalties correspondientes.

El código del algoritmo no se ha publicado nunca oficialmente, pero en 1994

alguien difundió en los grupos de noticias de Internet una descripción que,

como posteriormente se ha comprobado, genera las mismas secuencias. Dicha

descripción consta de una S-Caja de 8*8, que almacenará una permutación del

conjunto {0, . . . , 255}. Dos contadores i y j se ponen a cero. Luego, cada

byte Or de la secuencia se calcula como sigue:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Para calcular los valores iniciales de la S-Caja, se hace lo siguiente:

El algoritmo RC4 genera secuencias en las que los ciclos son bastante

grandes, y es inmune a los criptoanálisis diferencial y lineal, si bien algunos

estudios indican que puede poseer claves débiles, y que es sensible a estudios

analíticos del contenido de la S-Caja. De hecho, algunos afirman que en una de

cada 256 claves posibles, los bytes que se generan tienen una fuerte

correlación con un subconjunto de los bytes de la clave, lo cual es un

comportamiento muy poco recomendable.

A pesar de las dudas que existen en la actualidad sobre su seguridad, es un

algoritmo ampliamente utilizado en muchas aplicaciones de tipo comercial.

Algoritmo SEAL. SEAL es un generador de secuencia diseñado en 1993 para

IBM por Phil Rogaway y Don Coppersmith, cuya estructura está especialmente

pensada para funcionar de manera eficiente en computadores con una longitud

de palabra de 32 bits. Su funcionamiento se basa en un proceso inicial en el

que se calculan los valores para unas tablas a partir de la clave, de forma que

el cifrado propiamente dicho puede llevarse a cabo de una manera realmente

rápida. Por desgracia, también es un algoritmo sujeto a patentes.

Una característica muy útil de este algoritmo es que no se basa en un sistema

lineal de generación, sino que define una familia de funciones

pseudoaleatorias, de tal forma que se puede calcular cualquier porción de la

secuencia suministrando únicamente un número entero n de 32 bits. La idea es

que, dado ese número, junto con la clave k de 160 bits, el algoritmo genera un

bloque k(n) de L bits de longitud. De esa forma, cada valor de k da lugar a una

secuencia total de L × 2^{32} bits, compuesta por la yuxtaposición de los

bloques k(0), k(1),..., k(232 - 1).

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 10 Simulación Discreta

TIPOS DE SIMULACIÓN

1. Simulación Discreta: “modelación de un sistema por medio de una

representación en la cual el estado de las variables cambian instantáneamente

en instante de tiempo separados. (En términos matemáticos el sistema solo

puede cambiar en instante de tiempo contables)”

2. Simulación Continua: “modelación de un sistema por medio de una

representación en la cual las variables de estado cambian continuamente en el

tiempo. Típicamente, los modelos de simulación continua involucran

ecuaciones diferenciales que determinan las relaciones de las tasas de

cambios de las variables de estado en el tiempo.”

3. Simulación Combinada Discreta-Continua: modelación de un sistema por

medio de una representación en la cual unas variables de estado cambian

continuamente con respecto al tiempo y otras cambian instantáneamente en

instante de tiempo separados.

Es una simulación en la cual interactúan variables de estado discretas y

continuas.

Existen tres tipos de interacciones entre las variables de estado de este tipo de

simulaciones:

· “Un evento discreto puede causar un cambio discreto en el valor de una

variable de estado continua.

· Un evento discreto puede causar que la relación que gobierna una variable de

estado continua cambie en un instante de tiempo en particular.

· Una variable de estado continua de punto de partida puede causar que un

evento discreto ocurra, o sea, programado.”

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

4. Simulación Determinística y/o Estocástica: una simulación determinística

es aquella que utiliza únicamente datos de entra determinísticos, no utiliza

ningún dato de entrada azaroso. En cambio un modelo de simulación

estocástico incorpora algunos datos de entrada azarosos al utilizar

distribuciones de probabilidad.

5. Simulación estática y dinámica: La simulación estática es aquella en la

cual el tiempo no juega un papel importante, en contraste con la dinámica en la

cual si es muy importante.

6. Simulación con Orientación hacia los eventos: modelaje con un enfoque

hacia los eventos, en el cual la lógica del modelo gira alrededor de los eventos

que ocurren instante a instante, registrando el estado de todos los eventos,

entidades, atributos y variables del modelo en todo momento.

7. Simulación con Orientación hacia procesos: modelaje con un enfoque de

procesos, en el cual la lógica del modelo gira alrededor de los procesos que

deben seguir las entidades. Es cierta forma, es un modelaje basado en un

esquema de flujo grama de procesos, el cual se hace es un seguimiento a la

entidad a través de la secuencia de procesos que debe seguir.

El lenguaje de simulación SIMAN empleado por el programa de simulación

Arena opera bajo una orientación hacia procesos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

PASOS DE UN PROYECTO DE SIMULACIÓN

1. Formulación del problema y del plan de estudio

a. Problema a tratar definido por las directivas de la empresa

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

b. Reuniones preliminares con el equipo de personas de la empresa del área

correspondiente al proyecto, encargado del estudio de simulación, y directivas

a cargo del proyecto, para definir los siguientes puntos:

i. Objetivos generales del proyecto

ii. Preguntas especificas que el proyecto va a responder

iii. Medidas de desempeño que se usaran para evaluar la eficacia de las

diferentes configuraciones del sistema

iv. Alcance del Modelo

v. Configuraciones del sistema a modelar

vi. Software a usar

vii. Tiempo disponible para el proyecto y recursos requeridos

2. Recolección y análisis de datos de entrada y definición del modelo

a. Recolección de información del sistema y procesos de operación

b. Recolectar datos para parámetros específicos del modelo y distribuciones de

probabilidad de los datos de entrada.

c. Documentar los datos e información especificando los supuestos para crear

el modelo conceptual.

d. Recolectar datos de las medidas de desempeño del sistema para propósitos

de validación (paso 6)

e. Definir el nivel de detalles teniendo en cuneta lo siguientes puntos:

i. Objetivos del proyecto

ii. Medidas de desempeño

iii. Disponibilidad de datos

iv. Aspecto de Credibilidad

v. Limitaciones computacionales

vi. Opiniones de los expertos en el sistema

vii. Restricciones de plata y tiempo

f. Asegurar una correspondencia uno a uno entre cada uno de los elementos

del modelo con los correspondientes en el sistema real.

g. Interactuar regularmente con las directivas del área bajo estudio.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

3. ¿Es valido el modelo conceptual?

a. Realizar un recorrido a través de la lógica del modelo conceptual usando el

documento de suposiciones ante las directivas expertos y personal del área

bajo estudio:

i. Asegurar que las suposiciones son correctas y completas

ii. Promover el sentimiento de pertenencia del modelo

iii. Para evitar realizar cambios posterior a modelo

4. Construcción del modelo y verificar

a. Programar el modelo en un lenguaje o software de simulación.

b. Verificar que el modelo construido corresponda al modelo conceptual.

5. Hacer corridas piloto

a. Realizar corridas del modelo para poder llevar a cabo el proceso de

validación.

6. ¿Es valido el modelo programado?

a. Si existe un sistema, comparar las medidas de desempeño del modelo con

las del sistema real.

b. Revisar los resultados del modelo con el personal del área bajo estudio

c. Hacer análisis de sensibilidad, para determinar que factores tienen una

impacto significativo sobre las medidas de desempeño

7. Diseño de Experimentos

a. Especificar los siguiente para cda una de las diferentes configuraciones de

interes:

i. Longitud de las corridas

ii. Longitud del periodo de calentamiento (warm up) si es necesario.

iii. Numero de replicaciones independientes

8. Hacer corridas de producción

a. Corridas de producción para el paso 9

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

9. Análisis de los datos de salida

a. Los objetivos de un análisis de datos de salida son:

i. Determinar el desempeño absoluto de ciertas configuraciones del sistema

ii. Comparación configuraciones alternativas del sistema en un sentido relativo.

10. Optimización

a. De manera opcional hacer uso de software de optimización para determinar

el valor optimo de ciertas variables del sistemas que maximizan o minizan el

valor de una medida de desempeño del sistema.

11. Documentar, presentar y usar resultados

a. Documentar los supuestos, el código del modelo y resultados del proyecto

para su uso en un proyecto actual o futuro.

b. Presentar los resultados

i. Usar a la animación para comunicar el modelo al las directivas y demás

personal interesado e involucrado

ii. Discutir la construcción y validez del proceso para promover la credibilidad

c. Usar los resultados en un el proceso de toma de decisiones si son validos y

creíbles

Tomado de: Law, Averrill y Kelton, David. Simulation Modeling and Analysis. Tercera Edición.

McGraw Hill. 2004. pp 84-85

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 4: SIMULACIÓN EN HOJAS DE

CÁLCULO Y LENGUAJES DE SIMULACION

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 11 Simulación en Hojas de Cálculo

Generalidades

SIMULACIÓN MEDIANTE HOJA DE CÁLCULO

Funciones estadísticas: Distribuciones probabilísticas Hasta hace algunos años

las funciones de tipo estadístico que incorporaban las distintas aplicaciones de

hoja de cálculo eran muy limitadas, obligando al usuario a programar aquellas

funciones que necesitaba (Bernal García), o bien era preciso adquirir

programas complementarios como @RISK, Analyze-It, Crystal Ball y otros, que

incorporan funciones adicionales a la hoja de cálculo.

Así, en la última versión de la hoja de cálculo Excel aparece una amplia serie

de funciones estadísticas relacionadas con las distribuciones probabilísticas.

Con todas estas funciones se pueden realizar simulaciones basadas en las

distribuciones beta, F, gamma, logarítmico-normal, normal y t de Student, ya

que para todas ellas existen funciones inversas, las cuales a partir de la

probabilidad acumulada y de los parámetros propios de cada distribución

devuelven el valor que hace que se obtenga dicha probabilidad.

El procedimiento para ello consiste en generar números aleatorios de acuerdo

con la distribución uniforme y a partir de dicho valor (que siempre será mayor o

igual que cero y menor que 1) aplicar la correspondiente función inversa para

obtener el valor al que le corresponde la probabilidad obtenida aleatoriamente.

Construcción de funciones en Excel mediante VBA Dado que en determinadas

simulaciones las variables a simular no siguen ninguna de las distribuciones

que incorporan las aplicaciones de hoja de cálculo, se debe proceder a su

simulación. Básicamente, existen dos posibilidades:

• Realización manual de los cálculos necesarios en la propia hoja de cálculo.

• Programación de la función adecuada mediante VBA.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La primera de las técnicas puede suponer el problema de que existan cálculos

intermedios que es necesario realizar para obtener el valor final. En este caso,

para cada tirada aleatoria habría que recalcular la simulación y guardarla

mediante macros en una tabla, en la cual se vería solamente el valor obtenido.

Adicionalmente, en el caso de que se necesitara efectuar otra simulación

mediante la misma distribución de probabilidades se deberían rehacer los

cálculos nuevamente. Por otra parte, esta posibilidad tiene como ventaja que

no precisa conocimiento alguno en programación para poder efectuarla.

La segunda técnica, que implica conocer programación en Visual Basic para

Aplicaciones (VBA), plantea la ventaja de que mediante una función que se

añade a la hoja de cálculo como cualquier otra función de las que trae

incorporadas la propia aplicación, puede ser llamada tantas veces como sea

necesario y en tantas celdas como sea preciso simular sin ninguna limitación.

Adicionalmente, se puede proteger su contenido para que no sea visible por el

usuario de forma que éste sólo tenga que conocer la sintaxis de la función para

su utilización. De esta forma, también, se evitan manipulaciones que puedan

arrojar resultados incorrectos.

a) Definición:

Involucra el uso de una hoja de cálculo para representar el modelo, realizar las

muestras, y ejecutar los cálculos.

b) Historia:

• Mattesiel (1961) à utilizar hojas de cálculo en mainframes

• Microcomputadores

• Primera HC: Visi Cale

• Lotus 1– 2 – 3, Excel, Quattro

• Hog: En todos los sistemas

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

c) Aplicaciones

Ampliamente usada en los negocios poco, usada en Ingeniería

d) Para qué utilizarlas en Simulación?

1. Para representar relaciones matemáticas y lógicas entre variables

2. Para generar números aleatorios

3. Un medio para repetir series de cálculo

e) Características adicionales

4. Gran número de funciones: matemáticas, estadísticas, acceso a BD,

tiempo, financieros.

5. Representación y acceso a BD

6. Gráficas

7. Documentación

8. Lenguaje de programación

9. Ventaja: Fácil migración

f) Cuándo utilizarlas?

10. Modelos estocásticos

Ejemplo: Mejorar las políticas de administración de inventario

11. Análisis de sensibilidad

g) Inicio de la simulación

Las celdas pueden ser:

� Entradas al modelo

� Cálculos intermedios

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

� Salidas del modelo

Pasos

1) Iniciación del modelo

• Construcción del modelo con valores definidos para todos los parámetros y

entradas

• Reemplazar las celdas y representar cantidades randómicas o

desconocidas en fórmulas (en distribuciones apropiadas)

• Identificar la salida del modelo

2) Crear la ejecución del modelo

Tipos:

• Estática

• Dinámica

3) Análisis de datos

• Para modelos estocásticos, se aplican procedimientos estadísticos para

calcular las estimaciones y además los intervalos de confianza.

• Para análisis de sensibilidad, se evalúa el rango de valores de los datos de

salida.

h) Herramientas

• @RISK

• Crystall Ball

• Pop Tools

• Sim Tools

Características:

• Generación de números aleatorios

• Generación de números a partir de distribuciones

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Automatización del inicio y ejecución de la simulación

• Automatización del análisis y presentación de resultados

• Procedimientos de optimización

• Función RND(): las funciones son intuitivas para todas las distribuciones.

i) Limitaciones

• Estructura de datos simples.

• Algoritmos complejos son difíciles de implementar.

• Procesamiento lento: primero interpreta la fórmula antes de ejecutarla.

• Tamaño de la salida y almacenamiento limitados.

Prototipos son rápidamente construidos en las hojas de cálculo.

j) Correlaciones

Ventajas

• Disponibilidad

• Interfase intuitiva

• Fácil uso

• Potentes

Recomendadas para modelos financieros.

Simulación con EXCEL

Función Aleatorio()

• Cada número tiene la misma probabilidad de ser generado.

• Son independientes

2. IF (A1 < 0.5; “cara”; “sello”)

2.1 Moneda defectuosa

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Celdas relativas, absolutas

Generar 20 lanzamientos

3. Simulación Motecarlo

Consultas

Frec Absoluta

(Dias)

Frec.

Relativa

Frec. Rel.

Acum. Entrada

0 10 0,05 0,05

1 20 0,1 0,15 Aleatorios

2 40 0,2 0,35

3 60 0,3 0,65

4 40 0,2 0,85

5 30 0,15 1

Total 200 1

Generamos número aleatorio

4. Montecarlo con variables Discretas

Generación de números aleatorios

a) Exponencial

Media = b = - LN(Aleatorio())*b

Tabla

0 1 2 3 4 5

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

b) Weibull

Escala = b = - b*(LN(Aleatorio())^(1/a)

Forma = a

c) Normal

Media = µ = DISTR.NORM.INV(Aleatorio(),µ,ơ)

Desviación = ơ

d) Uniforme entre a y b

Ext inf = a = a + (b-a) * Aleatorio

Ext inf = b

Ejemplo ventas

Un vendedor realiza 20 llamadas que pueden terminar o no en ventas

Probabilidad de ventas en cada llamada = 0,5

• Lección 12 Lenguajes de Simulación

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

LENGUAJES DE SIMULACIÓN

El desarrollo de los lenguajes de Simulación comenzó a finales de los años

cincuenta; inicialmente los lenguajes que se usaron en fueron los de propósito

general, los cuales tenían las siguientes ventajas:

· La situación a analizar se puede modelar en forma más o menos sencilla para

el programador por el conocimiento del lenguaje.

· El proceso se puede describir con tanta precisión como le sea posible en el

lenguaje conocido.

· Se pueden realizar todas las depuraciones posibles.

Cualquier lenguaje de programación puede ser empleado para trabajar en

Simulación, pero los lenguajes especialmente diseñados presentan las

siguientes propiedades:

· Acaban la tarea de programación.

· Generan una guía conceptual.

· Colaboran en la definición de entidades en el sistema.

· Manejan la flexibilidad en los cambios.

· Ayudan a analizar y a determinar la relación y el número de entidades en el

sistema.

Emshoff y Sisson consideran que la Simulación Discreta requiere de ciertas

funciones comunes que diferencian un lenguaje de Simulación de uno de

propósito general, entre las cuales se encuentran las siguientes:

· Generar números aleatorios.

· Generar variables aleatorias.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

· Variar el tiempo hasta la ocurrencia del siguiente evento.

· Registrar datos para salida.

· Realizar análisis estadístico sobre datos registrados.

· Construir salidas en formatos determinados.

· Detectar inconsistencias y errores.

Los lenguajes precursores en Simulación fueron los de propósito general,

entre ellos por mencionar solo algunos tenemos: FORTRAN, ALGOL, COBOL,

RPG, BASIC, PASCAL, MODULA, PL/1, etc. Los principales lenguajes

utilizados en Simulación son:

Simulación de cambio continuo y de cambio discreto en computadoras híbridas

H01; Simulación de incremento continuo con orientación a ecuaciones directas

con énfasis en ecuaciones diferenciales DSL/90, MIMIC, BHSL, DIHYSYS y

S/360 CSMP; Simulación de incremento continuo con simuladores orientados a

bloques con énfasis en ecuaciones diferenciales MIDAS, PACTOLUS, SCADS,

MADBLOC, COBLOC y 1130 CSMP; Simulación de incremento continuo con

simuladores orientados a bloques con énfasis en ecuaciones de diferencias

DYNAMO, DYSMAP 2; Simulación de incremento discreto con orientación a

actividades CSL, CLP, GSP, GERT, FORSIM, ESP, MONTECODE y

MILITRAN; Simulación de incremento discreto con orientación a eventos

SIMSCRIPT, GASP, SIMCOM, SIMULATE y SIMPAC; Simulación de

incremento discreto con orientación a procesos SIMULA, OPS, SLAM y SOL;

Simulación de incremento discreto con orientación a flujo de transacciones

GPSS y BOSS.

Kobayashi y Law & Kelton plantearon la misma cuestión con 22 años de

diferencia, lo que nos permite apreciar lo que ha cambiado a lo largo del

tiempo.

Kobayashi:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

– Proporcionan una representación conveniente de los elementos que

aparecen normalmente en los modelos de simulación.

– Facilitan los cambios de configuración del modelo.

– Proporcionan un mecanismo de control y una temporización interna para

ejecutar una simulación.

– Facilitan la recogida de datos y las estadísticas sobre el comportamiento

agregado del sistema simulado y proporcionan informes en un formato

adecuado.

Law & Kelton:

– Los paquetes de simulación proporcionan la mayoría de las características

para construir un modelo de simulación, consiguiendo como resultado una

disminución del tiempo de programación y del coste del proyecto.

– Proporcionan un marco natural para realizar modelos de simulación, puesto

que sus construcciones básicas están más próximas a la simulación que las

suministradas por un lenguaje de programación de propósito general.

– Los modelos son mas fáciles de modificar y mantener.

– Proporcionan una corrección de errores mejor, puesto que muchos errores

potenciales se comprueban de forma automática.

Kobayashi:

– No se tiene porqué disponer necesariamente de un paquete de simulación.

– Nadie de tu entorno conoce un lenguaje específico de simulación y aprender

uno suele precisar un cierto tiempo.

– Las facilidades de depuración en un paquete de simulación pueden no ser

tan sofisticadas como las proporcionadas por un lenguaje de programación de

propósito general.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

– Los lenguajes de propósito general son más eficientes, porque normalmente

utilizan compiladores muy optimizados.

– Podría interesar construir algún esquema de control especial (o una recogida

de datos o un informe) en el paquete de simulación y el entorno de trabajo no

permitírtelo.

Law & Kelton:

– La mayoría de las personas que modelan conocen un lenguaje de

programación pero no un paquete de simulación.

– Eficiencia de la ejecución, eficiencia de la representación (en los paquetes se

deben utilizar las construcciones específicas, independientemente si dicho

conjunto pudiera ser mejorable o no).

– Los entornos de programación habituales (C, C++) son mucho más baratos.

El coste del proyecto puede ser, en el caso contrario, significativamente más

elevado.

Como se ve, tanto para las ventajas de uno u otro caso los argumentos no han

variado en los 22 años de diferencia entre ambas. A la vista de lo anterior

parece que la elección o no de un paquete de simulación está condicionada por

muchas consideraciones, no todas ellas racionales.

Introducción lenguajes de Simulación

Las primeras etapas de un estudio de simulación se refiere a la definición del

sistema a ser modelado y a la descripción del sistema de términos de

relaciones lógicas de sus variables y diagramas de flujo, sin embargo se llega a

describir el lenguaje que sea aceptado por la computadora que se a usar.

Ventajas de los lenguajes de Simulación:

Entre las ventajas principales de estos lenguajes de simulación, se pueden

mencionar las siguientes:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Reducción en la tarea de programación, con los leguajes de simulación el

tiempo dedicado a la programación del modelo se reduce

considerablemente.

• Mejor definición del sistema, a través de los leguajes de simulación, se

facilita la tarea de definir las diferentes entidades que interactúan dentro del

sistema, también con estos leguajes se determinan con mayor facilidad las

interrelaciones que existen entre las entidades que forman el sistema.

• Mayor flexibilidad para cambios, con los leguajes generales como Filtran,

el proceso de cambios puede ser largo y tedioso.

• Mejor diferenciación de las entidades que forman el sistema.

• Se relacionan mejor las entidades, con las entidades bien definidas, los

lenguajes de simulación permiten relacionar mejor a cada una de estas

entidades, es decir se determina más fácilmente las relaciones que las

entidades guardan entre si y el análisis de cada una de ellas.

Características de los lenguajes de simulación

1. El procedimiento utilizado para generar números aleatorios uniformes.

2. Los procedimientos o métodos utilizados para generar las variables

aleatorias no-uniformes mas conocidas y mas usadas.

3. La forma de adelantar el reloj de la simulación, la cual puede ser; a)

incremento a tiempo fijo. b) incremento al próximo evento.

4. El análisis estadístico de los resultados de la simulación.

5. El formato en que los resultados de la simulación son presentados.

6. La forma en que las inconsistencias y errores de lógica es portada.

7. el lenguaje en el cual el paquete esta escrito, el cual puede ser: Fortran,

Algol, PLl, Asembler.

8. Los diferentes tipos de computadoras cuyo compilador es compatible con el

del paquete en cuestión.

Clasificación de los lenguajes de simulación

Los modelos de simulación se clasifican en dos categorías:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

1. Modelos de simulación continua

2. Modelos de simulación discreta.

1. Modelos de simulación continúa: generalmente son apropiados

cuando un analista considera al sistema bajo estudio, como un flujo

continuo de información, generalmente el reloj de simulación se

incrementa a intervalos fijos de tiempo.

2. Modelos de simulación discreta: al analista le interesa lo que le

sucede a entidades individuales del sistema, por consiguiente, el reloj de

la simulación discreta se incrementa cada vez que ocurre un evento.

Estos se pueden desarrollar a través de tres enfoques 1) enfoque de

eventos; 2) enfoque de actividades, 3) enfoque de procesos, se definen

como un evento y un evento se define como un cambio en el estado de

una entidad del sistema, una actividad es una colección de operaciones

que transforman el estado de una entidad, un proceso es una secuencia

de eventos que ocurren en un tiempo determinado.

Clasificación del software de simulación

· Paquetes de propósito general frente a paquetes orientados a

aplicaciones.

- Lenguajes de simulación. Naturaleza general.

- Simuladores orientados a aplicaciones. Por ejemplo: fabricación, salud,

centralitas, etc.

· Aproximaciones de modelado.

- Aproximación orientada a la planificación por eventos.

- Aproximación orientada a procesos. Un proceso es una secuencia de

eventos ordenada en el tiempo, que describe como una entidad fluye a

través del sistema. Un sistema o modelo de simulación puede tener

diferentes tipos de procesos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Características deseables del software

1.- Posibilidades generales (incluyendo flexibilidad de modelado y facilidad

de uso).

2.- Consideraciones respecto al hardware y software.

3.- Animación.

4.- Funcionalidades estadísticas.

5.- Soporte del usuario y documentación.

6.- Informes y gráficos de resultados.

Respecto a las posibilidades generales:

1.- Flexibilidad de modelado:

Capacidad para definir y modificar atributos de las entidades, variables

globales y de utilizar ambas en la lógica de decisión.

Capacidad de usar expresiones y funciones matemáticas.

Modelado jerárquico. Posibilidad de crear nuevos modelos a partir de otros

ya existentes.

2.- Ayudas para la depuración:

Seguir una entidad a través del modelo. Monitorizar la simulación a medida

que avanza.

Ir hasta un instante de tiempo determinado. Avanzar hasta una determinada

condición.

Ver el estado del modelo cada vez que ocurre un evento particular.

Colocar un determinado valor en ciertos atributos para que ocurra un

suceso particular, normalmente con una probabilidad pequeña.

3.- Velocidad rápida en la ejecución.

4.- Entornos de modelado próximos al usuario.

5.- Importación o exportación de datos desde (o a) otras aplicaciones.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Por ejemplo, desde Excel.

6.- Posibilidad de simular escenarios que iteran sobre un parámetro.

Por ejemplo, número de máquinas disponibles.

7.- Posibilidades de simulación continua-discreta.

8.- Invocación de rutinas externas al paquete.

9.- Posibilidad de comenzar o no desde un estado vacío.

10.- Posibilidad de guardar el estado al final de una simulación.

11.- Costo.

• Lección 13 Introducción a GPSS (Sistema de Simulación de Propósito

General)

Introducción a GPSS: existen actualmente en mercado una gran cantidad de

paquetes de simulación, sin embargo el paquete GPSS es sin duda uno de los

mas conocidos y usados en empresas e instituciones educativas, por esta

razón se tratara de explicar y describir el mismo.

Versiones de GPSS:

• GPSSH

• DOS

• Windows

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• GPSS World

• Windows

• 150 bloques

Sentencia GPSS

Estructura de una sentencia de declaración GPSS:

Nro. Etiqueta Verbo Operandos; Comentario

Nro. Puede ser entero o decimal. Máximo 7 caracteres incluido pto.

Etiqueta. Número o nombre para la localización de un bloque.

Verbo. Nombre identificador para el control o el bloque.

Operandos. Dependen del verbo identificador utilizado.

Comentario. Para explicar brevemente el significado de la sentencia

Elementos básicos:

Transacciones

• Las transacciones se crean con uno o más bloques GENERATE y se

destruyen en bloques TERMINATE.

• Puede haber muchas transacciones simultáneas.

• Cada transacción en un momento dado se encuentra en algún bloque, y

muchos tipos de bloques pueden tener varias transacciones a la vez.

La instrucción de bloque que permite generar las transacciones e ingresarlas

en el modelo se llama GENERATE. Su sintaxis es:

GENERATE A,B,C,D,E,F

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• A es la tasa promedio a la cual se crean las transacciones en unidades de

tiempo simulado. Su valor por omisión es cero.

• B es la dispersión en el tiempo de creación promedio de las transacciones,

es decir, el tiempo de llegadas de las transacciones al modelo será de A ± B

unidades de tiempo. Su valor por omisión es cero.

• C es un operando donde se coloca el tiempo simulado al que llega la

primera transacción al modelo. El valor por omisión no está determinado.

• D es el número límite de transacciones creadas y su valor por omisión es

infinito.

• E es un operando donde se coloca la prioridad asignada a cada

transacción creada por el GENERATE. En GPSS las prioridades posibles

son de 0 a 127. La prioridad mayor tiene preferencia sobre las de prioridad

inferior.

Ejemplos: Generate

GENERATE 2700,200,1000,100,50

Crea transacciones cada 2700 ± 200 unidades de tiempo, pero la primera

transacción se crea al tiempo 1000. Después de 100 transacciones no se

generan más y cada una de las 100 generadas tendrán una prioridad de 50.

TERMINATE: Se emplea para destruir las transacciones que ingresen, se

puede emplear para simular que un elemento sale del sistema y ahorrar

memoria. Ayuda a que se cumplan las condiciones de terminación de un

programa ya que puede afectar al contador del START. Su sintaxis es:

TERMINATE A:

Donde A es un operando donde se coloca el número (entero) con el que se

disminuirá el contador de término de la simulación, cuyo número inicial se da

en la instrucción de control START. Cuando el contador alcanza un valor

menor o igual a cero la simulación termina.

Ejemplos: Terminate

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

TERMINATE: Cada transacción que ingresa a este bloque se destruye.

TERMINATE 5: Cada vez que una transacción ingresa a este bloque se

destruye y disminuye en 5 el contador de finalización de la simulación.

Suspende el movimiento de una transacción por una cantidad especifica de

tiempo simulado. Puede emplearse para simular el tiempo que una persona

tarda en ocupar un equipo, en una sala de espera, etc. Su sintaxis es:

ADVANCE A,B

Donde el operando A corresponde al tiempo de retardo para la transacción y B

es el intervalo de dispersión alrededor de A.

Ejemplos :

ADVANCE 12,4

Retarda la transacción 12 ± 4 unidades de tiempo simulado.

ADVANCE 15

Retarda exactamente 15 unidades de tiempo a la transacción.

Facilidad (unidad de servicio) Entidad que puede contener una sola

transacción en un momento.

Almacenamiento: Entidad que puede contener varias transacciones en un

momento.

• Bloques: Con las facilidades se usan los bloques:

• SEIZE

• RELEASE

• Almacenamientos

• ENTER

• LEAVE

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 14 Ejemplos de Lenguajes de Simulación

FLUJOGRAMA DEL ANALISIS DE UN SISTEMA USANDO GPSS/H

FLUJOGRAMA DE RUTINA DEL ANÁLISIS DE UN SISTEMA CON GPSS/H

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

APLICACIÓN PRÁCTICA DE SIMULACIÓN

PLANTEAMIENTO DEL PROBLEMA:

En una mina subterránea se genera un ciclo de acarreo que consta de cuatro

tolvas, dos para mineral y dos para desmonte. Las tolvas se encuentran en

interior mina y están ubicadas en distintos puntos de carga, las cuales van a

estar siempre llenos. Los puntos de descarga están en superficie. Se plantea

conocer cuántos camiones deben entrar al sistema para que no se generen

tiempos muertos de espera de camiones.

ESQUEMA SIMPLIFICADO DEL SISTEMA DE ACARREO

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

ESQUEMA DEL SISTEMA DE ACARREO

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

TRATAMIENTO DE DATOS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

FLUJOGRAMA DEL PROBLEMA

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

RESULTADOS DE LA PROGRAMACIÓN

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CONCLUSIONES

• Los resultados obtenidos dependen de la confiabilidad de los datos

recopilados.

• Al observar los resultados obtenidos en la simulación se encontró que la pérdida por tiempos muertos era mayor en el punto 1.

• El análisis económico de los resultados de la simulación demostró que el número óptimo de camiones era de dos para cada tolva obteniéndose los menores costos.

• Si se hiciera una segunda simulación demostraría que la adición de una tolva extra en el punto 1 eliminaría la formación de colas, desapareciendo así los tiempos muertos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 5: LÍNEAS DE ESPERA Y

DINAMICA DE SISTEMAS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 15 Introducción

o Líneas De Espera Y Teoría De Formación De Colas

o Estructura De Una Línea De Espera.

o Clasificación De Kendall, Lee Y Taha

o Glosario De Términos Generales

o Clasificación de las líneas de espera

o Ejemplos

o Conclusiones

INTRODUCCIÓN

En el mundo actual las filas de espera (colas) son parte de la vida cotidiana,

el hombre en su afán de prestar servicios a otros ha adoptado la filosofía de

“Servicio inmediato al ser solicitado”; esto ha generado un cambio drástico

en la manera de pensar y actuar de la sociedad actual, la rapidez el buen

desempeño de las actividades y la suficiente capacidad para lograr tareas

en un límite de tiempo ha hecho del hombre una pequeña maquina, que en

muchos casos ha sido reemplazada por sistemas o maquinas mucho mas

eficaces y rentables; que hacen de las líneas de espera (colas) modelos

mas eficientes.

Las líneas de espera y la teoría de colas es una colección de modelos

matemáticos que describen sistemas de líneas de espera particulares o de

sistemas de colas.

El problema es determinar que capacidad o tasa de servicio proporciona el

balance correcto. Esto no es sencillo, ya que el cliente no llega a un horario

fijo, es decir, no se sabe con exactitud en que momento llegarán los

clientes. También el tiempo de servicio no tiene un horario fijo.

Líneas De Espera Y Teoría De Formación De Colas

Las LÍNEAS DE ESPERA son usadas o tratan de cuantificar el fenómeno

de esperar formando cola, mediante medidas representativas de eficiencia,

como la longitud promedio de la cola, el tiempo promedio de espera en ella,

y la utilización promedio de las instalaciones.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La TEORIA DE COLAS es una colección de modelos matemáticos que

describen sistemas de líneas de espera particulares o sistemas de colas.

Los modelos sirven para encontrar el comportamiento de estado estable,

como la longitud promedio de la línea y el tiempo de espera promedio para

un sistema dado y así determinar la capacidad de servicio apropiado.

ESTRUCTURA DE UNA LINEA DE ESPERA “Modelo de colas”

ESTRUCTURA DE UNA LINEA DE ESPERA “Modelo de colas”

FUENTE DE ENTRADA

Los clientes que entran el sistema se generan a través del tiempo en una

fuente de entrada

� Tamaño de la Población.

� Forma de las Llegadas (Poisson).

COLA

No. máximo de clientes que se pueden admitir

� Tamaño de la Cola (Finita o Infinita)

� Disciplina de la Cola (FIFO, LIFO, Aleatoria, Prioridad)

MECANISMO DE SERVICIO

Consiste en una o más instalaciones de servicio.

� Canal (Servidores; serie o en paralelo).

� Tiempo de Servicio (Inicio – Fin con un cliente).

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

� Especificación de la distribución de probabilidad de los tiempos de

servicio para cada servidor (Exponencial)

CLASIFICACIÓN DE KENDALL, LEE Y TAHA

Reconociendo la diversidad de los sistemas de colas, D. G. Kendall en

1953 propuso un sistema de notación para sistemas de servidores paralelos

que ha sido adoptado universalmente a/b/c, después, en 1966, A. M. Lee

agregó los símbolos d y e. En 1968 Hamdy A. Taha agrego el último

elemento, el símbolo f.

CLASIFICACIÓN DE KENDALL, LEE Y TAHA; (a/b/c) : (d/e/f)

a: Distribución de las llegadas.

b: Distribución de las salidas.

c: Cantidad de servidores en paralelo.

d: Disciplina de la cola (FIFO,LIFO,Random,DG)

e: Cantidad máxima (finita, infinita) admisible en el sistema.

f: Tamaño de la Población.

GLOSARIO DE TERMINOS GENERALES

� λ : Promedio de llegadas en una unidad de tiempo.

� µ : Termino medio de servicios prestados en una

unidad de tiempo.

� λ /µ=ρ: Número de unidades en el sistema.

� η : Probabilidad.

RELACIONADOS CON EL TIEMPO

� W o Ws : Tiempo promedio de un cliente en el sistema

� Wq : Tiempo promedio de espera (en cola)

RELACIONADOS CON EL NUMERO DE CLIENTES

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

� L o Ls: Número promedio de clientes en el sistema

� Lq : Número promedio de clientes en la cola

� Pw : Probabilidad de que un cliente que llega tenga que esperar

� Pn : Probabilidad de que existan “n” clientes en el sistema

n = 0, 1, 2, 3.......

� Po : Probabilidad de que no hayan clientes en el sistema

� Pd : Probabilidad de negación de servicio, o probabilidad de que

un cliente que llega no pueda entrar al sistema debido que

la “cola está llena”

� S : Número de servidores

CLASIFICACIÓN DE LAS LÍNEAS DE ESPERA

UN SERVIDOR, UNA LÍNEA

Este modelo puede aplicarse a personas esperando en una cola para

comprar boletos para el cine, a mecánicos que esperan obtener

herramientas de un expendio o a trabajos de computadora que esperan

tiempo de procesador.

Salida del

Línea de espera Lq

Servidor

SISTEMA DE SERVICIO

Entrada de clientes al sistemas

Clientes que esperan ser atendidos

Peticiones

Wq

Wq

L

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Formulas Generales Un Servidor

Clasificación De Las Líneas De Espera

SERVIDORES MÚLTIPLES, UNA LÍNEA

Este modelo puede aplicarse a personas esperando en una cola para ser

atendidas por los cajeros en una entidad bancaria

SERVIDORES MÚLTIPLES, FILAS MÚLTIPLES

Este sistema, en que cada servidor tiene una línea separada, es

característico de supermercados, autoservicios. Es aquel en el cual el

cliente recibe el servicio de una sola estación y luego abandona el

sistema.

Wq W Lq L Pn Po Pw

ρµ

λ=

µ

λ−1

1 η

µ

λ

µ

λ

−1

1

− λµ

λ

− )(

2

λµµ

λ

− λµ

1

− )( λµµ

λ

Salida del

Línea de espera Lq Servidores

SISTEMA DE SERVICIO

Entrada de clientes al sistemas

Clientes que esperan ser atendidos

Peticiones

Wq

W

M/M/S

L

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

SERVIDORES SECUENCIALES, UNA LÍNEA

PLANTEAMIENTO DEL PROBLEMA

El Restaurante el Radual tiene una (1) persona encargada de atender los

pedidos de los usuarios, desea saber que falencias con datos reales

presenta en su funcionamiento, pues se ha dado cuenta que a veces no se

atiende lo suficientemente rápido a cada uno de los usuarios que llega al

establecimiento.

La llegada de los clientes tiene una distribución Exponencial Negativa con

una tasa de arribo de µ=1.6948 per/min. El tiempo de servicio sigue una

distribución Uniforme.

DEFINICIÓN DE VARIABLES

Variables exógenas o de Entrada:

Salidas del

Línea de espera Lq Servidores SISTEMA DE SERVICIO

Entradas de clientes

al

Clientes que esperan ser atendidos

Peticiones

Wq

W

L

(M/M/S)

Entrada de clientes al sistemas

Clientes que esperan ser atendidos

Salida de clientes

SISTEMA DE SERVICIO

2 1

Línea de espera 1 Lq

Línea de espera 2 Lq

Servidor Servidor Peticiones

Wq

W

L

(M/M/S)

Peticiones

Wq

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

� Intervalo de tiempo entre la llegada de un cliente y otro.

� Número de clientes que entran al restaurante.

� Tiempo de servicio (atender los pedidos).

Variables endógenas o de Salida:

� Tiempo promedio que dura un cliente en el sistema y en la cola.

� Numero esperado de clientes en la cola y en el sistema.

� Tiempo promedio de utilización y no utilización del restaurante.

� Total de clientes atendidos.

Variables de estado:

� Tiempo total de llegadas (Clientes).

� Tiempo que espera un cliente antes de ser atendido.

� Tiempo de espera total de todos los clientes.

� Numero de clientes que esperan ser atendidos.

IDENTIFICACIÓN DEL SISTEMA

� El sistema actual cumple con las condiciones

� Una población de clientes infinita.

� Un proceso de llegada en el que los clientes se presentan de acuerdo

con un proceso de Exponencial Negativa.

� Un proceso de colas que consiste en una sola línea de espera de

capacidad infinita, con una disciplina de colas de primero en entrar

primero en salir.

� Un proceso de colas que consiste en un solo servidor que atiende a los

clientes de acuerdo con una Distribución Uniforme.

� Un tiempo entre llegadas probabilistico (tiempo incierto y variable).

� Es decir, se tiene un sistema de colas M/M/1 FIFO/∞/∞

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CARACTERÍSTICAS OPERACIONALES

� Función de densidad de probabilidad exponencial negativa para tiempo

de llegada de los clientes.

� Función de densidad de probabilidad uniforme para el tiempo de

servicio.

CONCLUSIONES

� Un modelo de Líneas de espera solo arroja datos que son una guía

para una toma de decisiones, en la cual se deben tener en cuenta las

medidas de rendimiento que se obtuvieron con la simulación.

� Cuando un sistema posee características especiales importantes una

modelación matemática completa resultaría difícil o casi imposible en

tales situaciones el análisis completo del sistema puede ser logrado a

través del uso de la simulación

� Las líneas de espera y su aplicación en una simulación, pueden ayudar

al análisis de las variables tanto exógenas como endógenas que afectan

al sistema y ver que impacto tendría un cambio en una de las variables

del sistema.

� En una simulación las “soluciones preliminares” pueden ser simuladas

en lapsos de tiempo como años, días, meses y los datos arrojados

pueden estar disponibles de forma clara y precisa,

• Lección 16 Líneas De Espera y Teoria de formación de colas

“No importa en qué cola se sitúe: La otra siempre avanzará más rápido”

(Primera Ley de Harper)

“Y si se cambia de cola, aquélla en la que estaba al principio empezará a ir más

deprisa” (Segunda Ley de Harper)

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

INTRODUCCIÓN

Las "colas" son un aspecto de la vida moderna que nos encontramos

continuamente en nuestras actividades diarias. En el contador de un

supermercado, accediendo al Metro, en los Bancos, etc., el fenómeno de

las colas surge cuando unos recursos compartidos necesitan ser accedidos

para dar servicio a un elevado número de trabajos o clientes.

El estudio de las colas es importante porque proporciona tanto una base

teórica del tipo de servicio que podemos esperar de un determinado

recurso, como la forma en la cual dicho recurso puede ser diseñado para

proporcionar un determinado grado de servicio a sus clientes.

Debido a lo comentado anteriormente, se plantea como algo muy útil el

desarrollo de una herramienta que sea capaz de dar una respuesta sobre

las características que tiene un determinado modelo de colas.

Definiciones iniciales

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.

Una cola es una línea de espera y la teoría de colas es una colección de

modelos matemáticos que describen sistemas de línea de espera

particulares o sistemas de colas. Los modelos sirven para encontrar un

buen compromiso entre costes del sistema y los tiempos promedio de la

línea de espera para un sistema dado.

Los sistemas de colas son modelos de sistemas que proporcionan servicio.

Como modelo, pueden representar cualquier sistema en donde los trabajos

o clientes llegan buscando un servicio de algún tipo y salen después de que

dicho servicio haya sido atendido. Podemos modelar los sistemas de este

tipo tanto como colas sencillas o como un sistema de colas interconectadas

formando una red de colas. En la siguiente figura podemos ver un ejemplo

de modelo de colas sencillo. Este modelo puede usarse para representar

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

una situación típica en la cual los clientes llegan, esperan si los servidores

están ocupados, son servidos por un servidor disponible y se marchan

cuando se obtiene el servicio requerido.

El problema es determinar qué capacidad o tasa de servicio proporciona el

balance correcto. Esto no es sencillo, ya que un cliente no llega a un horario

fijo, es decir, no se sabe con exactitud en que momento llegarán los

clientes. También el tiempo de servicio no tiene un horario fijo.

Los problemas de “colas” se presentan permanentemente en la vida diaria:

un estudio en EEUU concluyó que, por término medio, un ciudadano medio

pasa cinco años de su vida esperando en distintas colas, y de ellos casi seis

meses parado en los semáforos.

Introducción a la Teoría de Colas

En muchas ocasiones en la vida real, un fenómeno muy común es la

formación de colas o líneas de espera. Esto suele ocurrir cuando la

demanda real de un servicio es superior a la capacidad que existe para dar

dicho servicio. Ejemplos reales de esa situación son: los cruces de dos vías

de circulación, los semáforos, el peaje de una autopista, los cajeros

automáticos, la atención a clientes en un establecimiento comercial, la

avería de electrodomésticos u otro tipo de aparatos que deben ser

reparados por un servicio técnico, etc.

Todavía más frecuentes, si cabe, son las situaciones de espera en el

contexto de la informática, las telecomunicaciones y, en general, las nuevas

tecnologías. Así, por ejemplo, los procesos enviados a un servidor para

ejecución forman colas de espera mientras no son atendidos, la información

solicitada, a través de Internet, a un servidor Web puede recibirse con

demora debido a congestión en la red o en el servidor propiamente dicho,

podemos recibir la señal de líneas ocupadas si la central de la que depende

nuestro teléfono móvil está colapsada en ese momento, etc.

Origen:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

El origen de la Teoría de Colas está en el esfuerzo de Agner Kraup Erlang

(Dinamarca, 1878 - 1929) en 1909 para analizar la congestión de tráfico

telefónico con el objetivo de cumplir la demanda incierta de servicios en el

sistema telefónico de Copenhague. Sus investigaciones acabaron en una

nueva teoría denominada teoría de colas o de líneas de espera. Esta teoría

es ahora una herramienta de valor en negocios debido a que un gran

número de problemas pueden caracterizarse, como problemas de

congestión llegada-salida.

Modelo de formación de colas.

En los problemas de formación de cola, a menudo se habla de clientes,

tales como personas que esperan la desocupación de líneas telefónicas, la

espera de máquinas para ser reparadas y los aviones que esperan aterrizar

y estaciones de servicios, tales como mesas en un restaurante, operarios

en un taller de reparación, pistas en un aeropuerto, etc. Los problemas de

formación de colas a menudo contienen una velocidad variable de llegada

de clientes que requieren cierto tipo de servicio, y una velocidad variable de

prestación del servicio en la estación de servicio.

Cuando se habla de líneas de espera, se refieren a las creadas por clientes

o por las estaciones de servicio. Los clientes pueden esperar en cola

simplemente por que los medios existentes son inadecuados para satisfacer

la demanda de servicio; en este caso, la cola tiende a ser explosiva, es

decir, a ser cada vez mas larga a medida que transcurre el tiempo. Las

estaciones de servicio pueden estar esperando por que los medios

existentes son excesivos en relación con la demanda de los clientes; en

este caso, las estaciones de servicio podrían permanecer ociosas la mayor

parte del tiempo. Los clientes puede que esperen temporalmente, aunque

las instalaciones de servicio sean adecuadas, por que los clientes llegados

anteriormente están siendo atendidos. Las estaciones de servicio pueden

encontrar temporal cuando, aunque las instalaciones sean adecuadas a

largo plazo, haya una escasez ocasional de demanda debido a un hecho

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

temporal. Estos dos últimos casos tipifican una situación equilibrada que

tiende constantemente hacia el equilibrio, o una situación estable.

En la teoría de la formación de colas, generalmente se llama sistema a un

grupo de unidades físicas, integradas de tal modo que pueden operar al

unísono con una serie de operaciones organizadas. La teoría de la

formación de colas busca una solución al problema de la espera

prediciendo primero el comportamiento del sistema. Pero una solución al

problema de la espera consiste en no solo en minimizar el tiempo que los

clientes pasan en el sistema, sino también en minimizar los costos totales

de aquellos que solicitan el servicio y de quienes lo prestan.

La teoría de colas incluye el estudio matemático de las colas o líneas de

espera y provee un gran número de modelos matemáticos para describirlas.

Se debe lograr un balance económico entre el costo del servicio y el costo

asociado a la espera por ese servicio

La teoría de colas en sí no resuelve este problema, sólo proporciona

información para la toma de decisiones

Objetivos de la Teoría de Colas

Los objetivos de la teoría de colas consisten en:

• Identificar el nivel óptimo de capacidad del sistema que minimiza el

coste global del mismo.

Generalmente el administrador se encuentra en un dilema

Asumir los costos derivados de tener largas colas Asumir los costos derivados de prestar un buen servicio

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Evaluar el impacto que las posibles alternativas de modificación de la

capacidad del sistema tendrían en el coste total del mismo.

• Establecer un balance equilibrado (“óptimo”) entre las consideraciones

cuantitativas de costes y las cualitativas de servicio.

• Hay que prestar atención al tiempo de permanencia en el sistema o en la

cola: la “paciencia” de los clientes depende del tipo de servicio

específico considerado y eso puede hacer que un cliente “abandone” el

sistema.

Elementos existentes en un modelo de colas

Fuente de entrada o población potencial: Es un conjunto de individuos (no

necesariamente seres vivos) que pueden llegar a solicitar el servicio en

cuestión. Podemos considerarla finita o infinita. Aunque el caso de infinitud

no es realista, sí permite (por extraño que parezca) resolver de forma más

sencilla muchas situaciones en las que, en realidad, la población es finita

pero muy grande. Dicha suposición de infinitud no resulta restrictiva cuando,

aún siendo finita la población potencial, su número de elementos es tan

grande que el número de individuos que ya están solicitando el citado

servicio prácticamente no afecta a la frecuencia con la que la población

potencial genera nuevas peticiones de servicio.

Cliente: Es todo individuo de la población potencial que solicita servicio.

Suponiendo que los tiempos de llegada de clientes consecutivos son

0<t1<t2<..., será importante conocer el patrón de probabilidad según el cual

la fuente de entrada genera clientes. Lo más habitual es tomar como

referencia los tiempos entre las llegadas de dos clientes consecutivos:

consecutivos: clientes consecutivos: T{k} = tk - tk-1, fijando su distribución

de probabilidad. Normalmente, cuando la población potencial es infinita se

supone que la distribución de probabilidad de los Tk (que será la llamada

distribución de los tiempos entre llegadas) no depende del número de

clientes que estén en espera de completar su servicio, mientras que en el

caso de que la fuente de entrada sea finita, la distribución de los Tk variará

según el número de clientes en proceso de ser atendidos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Capacidad de la cola: Es el máximo número de clientes que pueden estar

haciendo cola (antes de comenzar a ser servidos). De nuevo, puede

suponerse finita o infinita. Lo más sencillo, a efectos de simplicidad en los

cálculos, es suponerla infinita. Aunque es obvio que en la mayor parte de

los casos reales la capacidad de la cola es finita, no es una gran restricción

el suponerla infinita si es extremadamente improbable que no puedan entrar

clientes a la cola por haberse llegado a ese número límite en la misma.

Disciplina de la cola: Es el modo en el que los clientes son seleccionados

para ser servidos. Las disciplinas más habituales son:

La disciplina FIFO (first in first out), también llamada FCFS (first come first

served): según la cual se atiende primero al cliente que antes haya llegado.

La disciplina LIFO (last in first out), también conocida como LCFS (last

come first served) o pila: que consiste en atender primero al cliente que ha

llegado el último.

La RSS (random selection of service), o SIRO (service in random order),

que selecciona a los clientes de forma aleatoria.

Mecanismo de servicio: Es el procedimiento por el cual se da servicio a los

clientes que lo solicitan. Para determinar totalmente el mecanismo de

servicio debemos conocer el número de servidores de dicho mecanismo (si

dicho número fuese aleatorio, la distribución de probabilidad del mismo) y la

distribución de probabilidad del tiempo que le lleva a cada servidor dar un

servicio. En caso de que los servidores tengan distinta destreza para dar el

servicio, se debe especificar la distribución del tiempo de servicio para cada

uno.

Canal

Canales de servicio en serie

Canales de servicio en paralelo

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La cola, propiamente dicha, es el conjunto de clientes que hacen espera, es

decir los clientes que ya han solicitado el servicio pero que aún no han

pasado al mecanismo de servicio.

El sistema de la cola: es el conjunto formado por la cola y el mecanismo de

servicio, junto con la disciplina de la cola, que es lo que nos indica el criterio

de qué cliente de la cola elegir para pasar al mecanismo de servicio. Estos

elementos pueden verse más claramente en la siguiente figura:

Un modelo de sistema de colas debe especificar la distribución de

probabilidad de los tiempos de servicio para cada servidor.

La distribución más usada para los tiempos de servicio es la exponencial,

aunque es común encontrar la distribución degenerada o determinística

(tiempos de servicio constantes) o la distribución Erlang (Gamma).

Notación de Kendall

Por convención los modelos que se trabajan en teoría de colas se etiquetan

Fuente de Entrada

Llegada de un Cliente

Cola

Disciplina de la Cola

Sistema de la Cola

Mecanismo de Servicio

Servicio

___/___/___

Distribución de tiempo entre

llegadas

Distribución de tiempos de

servicio

Número de servidores

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Las distribuciones que se utilizan son:

• M: Distribución exponencial (markoviana)

• D : Distribución degenerada (tiempos constantes)

• E k : Distribución Erlang

• G : Distribución general

M / M / s : Modelo donde tanto los tiempos entre llegada como los tiempo de

servicio son exponenciales y se tienen s servidores.

M / G / 1: Tiempos entre llegada exponenciales, tiempos de servicio general

y 1 sólo servidor

Terminología

Usualmente siempre es común utilizar la siguiente terminología estándar:

• Estado del sistema : Número de clientes en el sistema.

• Longitud de la cola: Número de clientes que esperan servicio.

• N(t) : Número de clientes en el sistema de colas en el tiempo t (t 0).

• Pn (t): Probabilidad de que exactamente n clientes estén en el sistema en

el tiempo t, dado el número en el tiempo cero.

• s : Número de servidores en el sistema de colas.

• n : Tasa media de llegadas (número esperado de llegadas por unidad de

tiempo) de nuevos clientes cuando hay n clientes en el sistema.

• n : Tasa media de servicio para todo el sistema (número esperado

clientes que completan su servicio por unidad de tiempo) cuando hay n

clientes en el sistema.

Nota: n representa la tasa combinada a la que todos los servidores

ocupados logran terminar sus servicios

n: Cuando n es constante para toda n

n : Cuando n es constante para toda n 1

Medidas de rendimiento para evaluar un sistema de colas

El objetivo último de la teoría de colas consiste en responder cuestiones

administrativas pertenecientes al diseño y a la operación de un sistema de

colas. El gerente de un banco puede querer decidir si programa tres o

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

cuatro cajeros durante la hora de almuerzo. En una estructura de

producción, el administrador puede desear evaluar el impacto de la compra

de una nueva máquina que pueda procesar los productos con más rapidez.

Cualquier sistema de colas pasa por dos fases básicas. Por ejemplo,

cuando el banco abre en la mañana, no hay nadie en el sistema, de modo

que el primer cliente es atendido de forma inmediata. Conforme van

llegando más clientes, lentamente se va formando la cola y la cantidad de

tiempo que tienen que esperar se empieza a aumentar. A medida que

avanza el día, el sistema llega a una condición en la que el efecto de la falta

inicial de clientes ha sido eliminado y el tiempo de espera de cada cliente ha

alcanzado niveles bastante estables.

Algunas medidas de rendimiento comunes

Existen muchas medidas de rendimiento diferentes que se utilizan para

evaluar un sistema de colas en estado estable. Para diseñar y poner en

operación un sistema de colas, por lo general, los administradores se

preocupan por el nivel de servicio que recibe un cliente, así como el uso

apropiado de las instalaciones de servicio de la empresa. Algunas de las

medidas que se utilizan para evaluar el rendimiento surgen de hacerse las

siguientes preguntas:

Preguntas relacionadas con el tiempo, centradas en el cliente, como:

a) ¿Cuál es el tiempo promedio que un cliente recién llegado tiene que

esperar en la fila antes de ser atendido?. La medida de rendimiento

asociada es el tiempo promedio de espera, representado con Wq

b) ¿Cuál es el tiempo que un cliente invierte en el sistema entero,

incluyendo el tiempo de espera y el de servicio?. La medida de

rendimiento asociada es el tiempo promedio en el sistema, denotado con

W

c) Preguntas cuantitativas relacionadas al número de cliente, como:

d) En promedio ¿cuántos clientes están esperando en la cola para ser

atendidos?. La medida de rendimiento asociada es la longitud media de

la cola, representada con Lq

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

e) ¿Cuál es el número promedio de clientes en el sistema?. La medida de

rendimiento asociada es el número medio en el sistema, representado

con L

Preguntas probabilísticas que implican tanto a los clientes como a los

servidores, por ejemplo:

a) ¿Cuál es la probabilidad de que un cliente tenga que esperar a ser

atendido?. La medida de rendimiento asociada es la probabilidad de

bloqueo, que se representa por, pw

b) En cualquier tiempo particular, ¿cuál es la probabilidad de que un

servidor esté ocupado?. La medida de rendimiento asociada es la

utilización, denotada con U. Esta medida indica también la fracción

de tiempo que un servidor esta ocupado.

c) ¿Cuál es la probabilidad de que existan n clientes en el sistema?. La

medida de rendimiento asociada se obtiene calculando la

probabilidad Po de que no haya clientes en el sistema , la

probabilidad Pi de que haya un cliente en el sistema, y así

sucesivamente. Esto tiene como resultado la distribución de

probabilidad de estado, representada por Pn, n=0,1......

d) Si el espacio de espera es finito, ¿Cuál es la probabilidad de que la

cola esté llena y que un cliente que llega no sea atendido?. La

medida de rendimiento asociada es la probabilidad de negación del

servicio, representada por Pd

Preguntas relacionadas con los costos, como:

a) ¿Cuál es el costo por unidad de tiempo por operar el sistema?

b) ¿Cuántas estaciones de trabajo se necesitan para lograr mayor

efectividad en los costos?

El cálculo específico de estas medidas de rendimiento depende de la clase

de sistema de colas. Algunas de estas medidas están relacionadas entre sí.

Conocer el valor de una medida le permita encontrar el valor de una medida

relacionada.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Relaciones entre medidas de rendimiento

El cálculo de muchas de las medidas de rendimiento depende de los

procesos de llegadas y de servicio del sistema de colas en específico. Estos

procesos son descritos matemáticamente mediante distribuciones de

llegada y de servicio. Incluso sin conocer la distribución especifica, las

relaciones entre algunas de las medidas de rendimiento pueden obtenerse

para ciertos sistemas de colas, únicamente mediante el uso de los

siguientes parámetros de los procesos de llegada y de servicio.

= número promedio de llegadas por unidad de tiempo

= número promedio de clientes atendidos por unidad de tiempo en una

sección

Supongamos que una población de clientes infinita y una cantidad limitada

de espacio de espera en la fila. El tiempo total que un cliente invierte en el

sistema es la cantidad de tiempo invertido en la fila más el tiempo durante el

cual es atendido:

Tiempo promedio en el sistema = Tiempo de espera + Tiempo de servicio

El tiempo promedio en el sistema y el tiempo promedio de espera están

representados por las cantidades W y Wq, respectivamente. El tiempo

promedio de servicio puede expresarse en términos de parámetros de &.

Por ejemplo, si & es 4 clientes por hora, entonces , en promedio, cada

cliente requiere 1 /4 para ser atendido. En general, el tiempo de servicio es

1/&, lo cual nos conduce a la siguiente relación :

W = Wq + 1/

Consideremos ahora la relación entre el número promedio de clientes en el

sistema y el tiempo promedio que cada cliente pasa en el sistema.

Imaginemos que un cliente acaba de llegar y se espera que permanezca en

el sistema un promedio de media de hora. Durante esta media hora, otros

clientes siguen llegando a una tasa ¿¿digamos doce por hora??. Cuando el

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

cliente en cuestión abandona el sistema, después de media hora, deja tras

de sí un promedio de (1/2)*12 = 6 clientes nuevos.

Es decir, en promedio, existen seis clientes en el sistema en cualquier

tiempo dado. Entonces:

Tiempo promedio de clientes = Número de llegadas X *Tiempo promedio

en el sistema. De modo que:

L = *W

Utilizando una lógica parecida se obtiene la relación entre el número

promedio de clientes que esperan en la cola y el tiempo promedio de espera

en la fila:

Tiempo promedio de clientes = Número de llegadas X Unidad de tiempo en

la cola. De manera que:

Lq = * Wq

• Lección 17 Clasificación de las líneas de espera

Para aplicar las técnicas apropiadas, se debe identificar las carácterísticas del sistema de colas. La clasificación se realiza empleando letras y/o simbolos.

Considerando un sistema o modelo, con tamaño de población infinita, clientes que esperan en una sola fila y espacio de espera infinito, se tiene :

* Proceso de llegadas / Proceso de Servicio / Proceso de colas

D, M o G / D, M o G / c

Si la población y el espacio de espera es finito, adicionalmente, se tendrán al final una K y L, osea :

D, M o G / D, M o G / c / K / L

Proceso de Llegadas : Describe la distribución del tiempo entre llegadas

a) D , para indicar que el tiempo entre llegadas es determinístico

b) M , para indicar que el tiempo entre llegadas es probabilístico (exponencial)

c. G , para indicar que el tiempo entre llegadas es determinístico(pero que sigue una distribución diferente a la exponencial.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Proceso de Servicio : Describe la distribución del tiempo de servicio

a) D , para indicar que el tiempo de servicio es determinístico

b) M , para indicar que el tiempo de servicio es probabilístico (exponencial)

c. G , para indicar que el tiempo de servicio es determinístico(pero que sigue una distribución diferente a la exponencial.

Proceso de Colas

C, se usa para representar el número de estaciones o canales paralelos existen en el sistema.

De otro lado :

K, representa el número máximo de clientes que pueden estar en todo el sistema

L, representa el número total de clientes de la población.

Ejemplos :

M / M / 3

La primera M, representa un sistema con tiempo entre llegadas probabilístico y que se ajusta a una sitribución exponencial. La segunda M, indica que el tiempo de servicio es probabilístico y exponencial. Luego c =3, significa que el sistema tiene 3 estaciones paralelas.

M / D / 4 / 10

Indica que el tiempo entre llegadas es probabilístico y exponencial; el tiempo de servicio es determinístico. Existen 4 canales o estaciones, y el número máximo de clientes que pueden estar en todo el sistema en cualquier momento es 10.

EVALUACION DEL SISTEMA DE COLAS

Cualquier sistema de colas pasa por 2 fases básicas: La fase transitoria y la fase estable.

• En el curso, se resolverán sólo casos en condiciones estables.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Indicadores para Evaluar el Rendimiento de un Sistema de Colas

RELACIONADOS CON EL TIEMPO :

W = Tiempo promedio en el sistema

Wq = Tiempo promedio de espera

RELACIONADOS CON EL NUMERO DE CLIENTES :

L = Número promedio de clientes en el sistema

Lq = Número promedio de clientes en la cola

Pw = Probabilidad de que un cliente que llega tenga que esperar

Pn = Probabilidad de que existan "n" clientes en el sistema

Pn; n = 0, 1, 2, 3.......

Po = Probabilidad de que no hayan clientes en el sistema

Pd = Probabilidad de negación de servicio , o probabilidad de que un cliente que llega no pueda entrar al sistema

debido que la "cola está llena"

RELACIONES ENTRE LAS MEDIDAS :

Si l = Número promedio de llegadas por unidad de tiempo

m = Número promedio de clientes atendidos por unidad de tiempo en un canal

Se cumple :

a) W = Wq + 1 / m

b) L = l . W

c) Lq = l . Wq

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CASO 1 : M / M / 1

Algunas características : Población de clientes infinita, llegadas de clientes probabilística según Poisson; una línea de espera y un solo servidor o canal de atención con tiempo de servicio exponencial.

Supuesto: Condición Estable; cuando m > l , osea la tasa de servicio promedio es mayor que la tasa de llegadas promedio.

Bibliografia consultada : Mathur y Solow

• Lección 18 Transporte

Generalidades

El flujo vehicular producido en un momento y lugar determinados es el

resultado de una serie de decisiones individuales de los usuarios de una red

vial. Cada usuario decide cómo y cuándo recorrer lo que considera la mejor

ruta para llegar a su destino.

Su decisión puede basarse en criterios tales como costo tiempo seguridad y

comodidad. El usuario debe decidir que ruta recorrer y qué modos de

transporte utilizar (automóvil, transporte público etc.) decisión que depende,

entre otras cosas, de la congestión de los arcos y las vialidades de la ruta.

En términos generales, existen tres enfoques para modelar flujo de tráfico

vehicular:

� Los Modelos Macroscópicos

� Los Modelos Microscópicos

� Los Modelos Cinéticos

Conceptos a considerar

• MODELACIÓN DEL FLUJO DE TRÁFICO VEHICULAR:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Hay muchas aproximaciones matemáticas que intentan modelar el flujo de

tráfico vehicular en términos de alguna de sus características.

Su decisión puede basarse en criterios tales como costo tiempo seguridad y

comodidad. El usuario debe decidir que ruta recorrer y qué modos de

transporte utilizar (automóvil, transporte público etc.) decisión que depende,

entre otras cosas, de la congestión de los arcos y las vialidades de la ruta.

• ASIGNACIÓN DINÁMICA DEL TRÁFICO

El problema de asignación dinámica del tráfico se ha abordado con diversos

enfoques de simulación, teoría del control óptimo y optimización.

Estos modelos consideran que los usuarios minimizan sus tiempos de viaje

actualizando continuamente sus rutas elegidas de acuerdo con las condiciones

del tráfico.

En estos sistemas existe un Controlador central que Recomienda las rutas a

los usuarios en tiempo real, lo cual satisface objetivos:

� Individuales

� Equilibrio de Usuario

� Optimización del Sistema

Y considera en tiempo real, variaciones inesperadas en las condiciones de la

red.

• Los modelos de asignación de tráfico necesitan como entrada

� Una matriz origen-destino.

� Información de capacidad vehicular

Donde:

� Filas Origen

� columnas Destino

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Cada una de sus celdas contiene el número de viajes realizados de una zona

origen a una zona destino en un periodo de tiempo.

� Capacidad vehicular: Son conteos de los vehículos que

pasan por determinados arcos de la red.

• Lección 19 MODELOS DE ASIGNACIÓN DE EQUILIBRIO

Un enfoque que ha permitido una buena representación del tráfico es el de los

Modelos de Asignación de Equilibrio.

Estos modelos pueden ser utilizados para representar el comportamiento

macroscópico del tráfico de grandes zonas urbanas o ciudades enteras.

Mediante estos modelos es posible:

� Estimar el flujo vehicular en una red donde existe cierta demanda

de viajes.

� Este flujo estimado sirve tanto para predecir el tráfico como

para recomendar un patrón de flujo vehicular.

� Determinar los tiempos de viaje dependen del flujo debido a las

efectos de la congestión.

• Los Modelos de Asignación de Equilibrio pueden ser de dos tipos:

� Equilibrio de Usuario

� Optimización de Sistema

� Equilibrio de Usuario:

Este modelo se basa en el primer principio de Wardrop, que afirma:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

“Los tiempos de viajes en todas las rutas realmente utilizadas son

menores o iguales que los que requeriría un usuario en cualquier ruta no

utilizada”

A su vez existen dos tipos de modelo de Equilibrio de Usuario:

� Determinista: Supone que cada usuario tiene información

perfecta sobre sus rutas y la congestión de la red.

� Estocástico: Que asume que los usuarios no poseen

información perfecta de la red y perciben de forma distinta

los inconvenientes y atributos de la misma.

“El Equilibrio se alcanza cuando ningún usuario cree que su tiempo de viaje

puede ser mejorado mediante un cambio en su ruta”

� Optimización de Sistema:

Tiene como objetivo la minimización del tiempo total de viaje en el sistema.

Este modelo obtiene una asignación de flujo que minimiza el tiempo total de

viaje en toda la red.

Características de Dynameq

• Dynameq es un modelo basado en la asignación de tráfico dinámico (DTA),

modelo basado en el modelo de equilibrio de usuario.

• El objetivo es minimizar el viaje de cada conductor.

• Dynameq trabaja con un método reiterativo donde cada iteración consiste de

una ejecución del modelo opción-trayectoria y una ejecución de la simulación

de tráfico.

• El simulador recibe los tiempos dependiendo de las proporciones de flujo de

cada modelo opción-trayectoria y simula el tráfico resultante de los modelos en

la red.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• La salida de cada uno de los dos modelos es la entrada del otro. Este

proceso continua cíclicamente hasta converger a un estado aproximado de

equilibrio de usuario.

• Las iteraciones pueden considerarse como una serie consecutiva de días

donde los conductores arrancan el primer día con el conocimiento de la red vial

pero de ningún conocimiento de los modelos de tráfico de los que serán

resultado sus opciones de trayectoria.

• Después de experimentar la congestión de tráfico resultante, cada conductor

considera cada día, la posibilidad de escoger un camino diferente durante el

próximo día. Después de cierto número de días los conductores dejan de

buscar los nuevos caminos y restringen sus opciones a caminos que ellos ya

han probado.

Datos de entrada Dynameq:

• Dynameq esta diseñado para minimizar los requerimientos de datos y

proporcionar valores predeterminados útiles si el dato no está disponible.

• Las entradas a una matriz Dynameq DTA son la demanda de tráfico, la

definición de la red, y los planes de control de tráfico.

• La demanda de tráfico está representada por un tiempo –dependiente

de la matriz origen –destino (o-d) para cada clase de vehículo modelado.

• Todos los datos pueden ser importados o exportados en archivos de

texto ASCII. Las herramientas están disponibles validar los datos de la

entrada.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Diagramas de flujo

Salidas Dynameq

• Dynameq permite analizar cientos de datos de salida en representaciones

visuales de las condiciones de tráfico, del tráfico general y las colas en los

carriles individualmente. Las salidas de un DTA dynameq son los resultados

de la simulación y los resultados de las trayectorias

• Los resultados de la simulación están presentados en diagramas y graficas

de series de tiempo.

• Muestra resultados detallados de las animaciones de las colas por carril.

• Con la animación de Dynameq los diagramas se pueden modificar fácilmente

para requisitos particulares mostrando valores promedio de las medidas de

tráfico, incluyendo flujos, densidad, velocidad, tiempos de recorrido, y conteo

de vehículos en cola.

• Muestra resultados detallados de las animaciones de las colas por carril

• Todos los resultados de la simulación se pueden clasificar

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• El tamaño del intervalo de tiempo es definido por el usuario, pero

normalmente en el orden de algunos minutos.

• Ver el cuadro grande con animaciones red-escala y animación de graficas,

densidades y resultados de tiempos de tráfico para identificar patrones de

congestión

• Determinar el grado de congestión de las colas carril por carril y los

diagramas time – series.

• Fijar la atención en las trayectorias usadas orígenes y destinos

• Comparar los resultados de los escenarios con la animación.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 5: DINÁMICA DE SISTEMAS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 20 Conceptos Básicos

La Dinámica de Sistemas es una metodología para la construcción de

modelos de simulación para sistemas complejos, como los que son estudiados

por las ciencias sociales, la economía o la ecología.

La Dinámica de Sistemas aplica métodos de sistemas duros, básicamente las

ideas de realimentación y sistema dinámico, junto con la teoría de modelos en

el espacio de estados y procedimientos de análisis numérico. Por tanto sería

una metodología más entre las de sistemas duros. Sin embargo, en su punto

de mira están los problemas no estructurados (blandos), como los que

aparecen en los sistemas socioeconómicos. Esto plantea dos tipos de

dificultades:

• Cuantificación:

En Dinámica de Sistemas se comienza por identificar las variables de

interés y las relaciones que ligan entre sí a estas variables. A

continuación es imprescindible cuantificar dichas relaciones, lo que en

ocasiones plantea dificultades insalvables.

• Validación:

Una vez construido el modelo hay que preguntarse si refleja

razonablemente la realidad. Esta cuestión puede resolverse por ejemplo

en caso de que se disponga de informaciones cuantitativas de la

evolución del sistema real en el pasado. Si el modelo es capaz de

generar los comportamientos característicos del sistema real,

denominados {\em modos de referencia}, entonces obtendremos una

cierta confianza en la validez del modelo.

En Dinámica de Sistemas la simulación permite obtener trayectorias para las

variables incluidas en cualquier modelo mediante la aplicación de técnicas de

integración numérica. Sin embargo, estas trayectorias nunca se interpretan

como predicciones, sino como proyecciones o tendencias. El objeto de los

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

modelos de Dinámica de Sistemas es, como ocurre en todas las metodologías

de sistemas blandos, llegar a comprender cómo la estructura del sistema es

responsable de su comportamiento. Esta comprensión normalmente debe

generar un marco favorable para la determinación de las acciones que puedan

mejorar el funcionamiento del sistema o resolver los problemas observados. La

ventaja de la Dinámica de Sistemas consiste en que estas acciones pueden ser

simuladas a bajo coste, con lo que es posible valorar sus resultados sin

necesidad de ponerlas en práctica sobre el sistema real.

• Lección 21 Historia de Dinámica de Sistemas

A lo largo de los años cincuenta comenzó a fraguarse en el Instituto de

Tecnología de Massachusetts (MIT) una destacada metodología de sistemas,

la Dinámica de Sistemas. Jay W. Forrester, ingeniero electrónico, había

pasado del Laboratorio de Servomecanismos, donde inventó las memorias

magnéticas de núcleos de ferrita, a coordinar un gran proyecto de defensa, el

sistema SAGE (Semi-Automatic Ground Equipment). En la realización de este

sistema de alerta en tiempo real se percató de la importancia del enfoque

sistémico para concebir y controlar entidades complejas como las que surgen

de la interacción de hombres y máquinas.

Tras esta experiencia, Forrester pasaría como profesor a la Sloan School of

Management del MIT, donde observó que en las empresas se producían

fenómenos de realimentación que podían ser causa de oscilaciones, igual que

sucede en los servomecanismos. De esta forma ideó la Dinámica Industrial

[Industrial Dynamics, 1961], una metodología que permitía construir modelos

cibernéticos de los procesos industriales. La peculiaridad de estos modelos

residía en la posibilidad de simular su evolución temporal con la ayuda del

ordenador. Posteriormente aplicaría su metodología a problemas de

planificación urbana [Urban Dynamics, 1969] y la generalizaría para cualquier

tipo de sistema continuo, cambiando su denominación por la de Dinámica de

Sistemas [System Dynamics, 1968].

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

La Dinámica de Sistemas alcanzó gran difusión durante los años setenta, al

servir de base para los estudios encargados por el Club de Roma a Forrester y

su equipo para valorar el efecto del crecimiento de la población y de la

actividad humana en un mundo de recursos limitados. El propio Forrester

dirigió la confección de un modelo inicial del mundo [World Dynamics, 1971] a

partir del cual se realizaría más tarde el informe definitivo [The Limits to

Growth, 1973], dirigido por D.L. Meadows y financiado por la Fundación

Volkswagen. Un segundo informe, también utilizando Dinámica de Sistemas,

sería encargado posteriormente a Mesarovic y Pestel [Mankind at the Turning

Point, 1974].

• Lección 22 Diagramas Causales

Los primeros estadios de la conceptualización de un modelo requieren definir el

propósito del mismo. En función de ello hay decidir qué elementos han de ser

tomados en consideración y cuáles de entre ellos están relacionados de forma

que lo que ocurre en uno afecta de manera inmediata al otro. Por cuanto

nuestro interés se centra en la variación en el tiempo del valor cuantitativo

atribuido a cada elemento (variable), las influencias buscadas son las que su

manifestación consista en que una variable aumente o disminuya en función de

que otra, de la cual depende, experimente algún tipo de variación. Una forma

natural de representar elementos y relaciones es mediante un grafo orientado.

A veces, cuando el sentido de la influencia es conocido, se suele incluir un

signo más o un signo menos que hace alusión a una influencia del mismo

sentido o de sentido opuesto según el caso. Por ejemplo, si la densidad de

coches aumenta o disminuye cabe esperar que el numero de accidentes

también aumente o disminuya respectivamente. Existe, por tanto, una

influencia en el mismo sentido. Por el contrario, las ventas de coches

seguramente dependerán del precio de los mismos pero la influencia será esta

vez de sentido opuesto.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Densidad de coches Accidentes

Ventas de cochesPrecio -

+

Fig. Dependencia causal entre variables

Establecer un grafo en el que aparezcan representados todos los elementos

que componen el modelo junto con sus relaciones supone un paso importante

en la definición de la estructura del mismo. Un grafo de esas características se

conoce como diagrama causal o de influencias. No obstante,

metodológicamente no es recomendable la construcción de un diagrama causal

exhaustivo como primera fase en la construcción de un modelo aun cuando

diagramas parciales o globales a alto nivel jerárquico puedan ser buenos como

mecanismo de ayuda a la conceptualización. Sin embargo, de cara a facilitar la

comprensión de las hipótesis introducidas en el modelo, es de gran ayuda

disponer de un diagrama causal exhaustivo para la presentación del mismo a

un público interesado. Dicho diagrama causal siempre puede deducirse sin

dificultad una vez finalizada la construcción del modelo.

Lazos realimentados

El tipo de problemas en los que habitualmente trabaja la Dinámica de Sistemas

se caracteriza porque en éstos siempre aparecen relaciones causales

estructuradas en bucles cerrados. Ello no es sorprendente por cuanto detrás de

un bucle cerrado de relaciones causales subyace el principio filosófico de que

nada se hace impunemente. Una acción ejecutada por o sobre un elemento del

bucle se propaga por el mismo de manera que tarde o temprano esa acción

repercute sobre sus propios valores futuros. Esto es habitual en las

organizaciones en las que el hombre es una parte más de las mismas, las

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

cuales constituyen en buena medida nuestro principal objeto de estudio.

Conviene distinguir dos tipos de lazos realimentados, lazos positivos y

negativos. Positivos son aquellos en los que una variación en un elemento se

ve reforzada por las influencias mutuas entre los elementos. Por el contrario, en

los lazos negativos una variación en cualquiera de sus elementos tiende a ser

contrarrestada por las influencias en sentido contrario que se generan en el

lazo. La figura muestra un ejemplo de ambos tipos de lazo.

Fig.. Lazos positivo y negativo

Es importante notar que dinámicamente un lazo positivo tiende a producir

situaciones de crecimiento o decrecimiento ilimitado, mientras que un lazo

negativo tiende a producir equilibrio. Desde el punto de vista de la causalidad

un modelo está siempre estructurado como un conjunto de lazos positivos y

negativos interconectados entre sí. El comportamiento dinámico del mismo

dependerá de cómo se vaya produciendo la alternancia en el dominio entre la

tendencia a crecer o decrecer de los unos y la tendencia al equilibrio de los

otros.

Tipos de variables

Distinguiremos tres tipos de variables en función de su propio cometido en el

modelo. Variables de nivel, variables de flujo y variables auxiliares.

Población

nacimientos

+

+

Población

muertes

+

-

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Los niveles suponen la acumulación en el tiempo de una cierta magnitud. Son

las variables de estado del sistema, en cuanto que los valores que toman

determinan la situación en la que se encuentra el mismo.

Los flujos expresan de manera explicita la variación por unidad de tiempo de

los niveles. No es siempre inmediato decidir cuál de los tres tipos será el

apropiado para representar a un elemento determinado del sistema real en

estudio. Pensar en un cierto nivel de agua y en un grifo que lo abastece es una

buena metáfora para mejor comprender los significados respectivos de estos

dos tipos de variable.

Las variables auxiliares son, como su nombre indica, variables de ayuda en el

modelo. Su papel auxiliar consiste en colaborar en la definición de las variables

de flujo y en documentar el modelo haciéndolo más comprensible.

Además de las variables reseñadas, en todo modelo habrá también

parámetros, o sea, variables que se mantienen constantes durante todo el

horizonte temporal de ejecución del modelo.

• Lección 23 Diagramas de Forrester

El Diagrama de Flujos, también denominado Diagrama de Forrester, es el

diagrama característico de la Dinámica de Sistemas. Es una traducción del

Diagrama Causal a una terminología que facilita la escritura de las ecuaciones

en el ordenador. Básicamente es una reclasificación de los elementos.

No hay unas reglas precisas de como hacer esta transformación, pero si hay

alguna forma de abordar este proceso. Pasos a seguir:

1º. Hace una fotografia mental al sistema y lo que salga en ella (personas, km2,

litros, animales,..) eso son Niveles.

2º. Buscar o crear unos elementos que sean "la variación de los Niveles",

(personas/dia, litros/hora, ...) y esos son los Flujos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

3º. El resto de elementos son las Variables Auxiliares.

Como regla general esto sirve para empezar. Después ya se pueden ir

haciendo retoques, y así los Niveles que vayan a permanecer constantes (m2

de la habitación) en vez de definirlos como Niveles se pueden definir como

variables auxiliares tipo constante que es más sencillo. Este es todo el

procedimiento. Ahora veremos con más detalle como se representan estos

elementos.

Los "Niveles" son aquellos elementos que nos muestran en cada instante la

situación del modelo, presentan una acumulación y varían solo en función de

otros elementos denominados "flujos". Las "nubes" dentro del diagrama de

flujos son niveles de contenido inagotable. Los niveles se representan por un

rectángulo.

Los "flujos" son elementos que pueden definirse como funciones temporales.

Puede decirse que recogen las acciones resultantes de las decisiones tomadas

en el sistema, determinando las variaciones de los niveles.

Las "variables auxiliares" y las "constantes", son parámetros que permiten una

visualización mejor de los aspectos que condicionan el comportamiento de los

flujos.

Las magnitudes físicas entre flujos y niveles se transmiten a través de los

denominados "canales materiales". Por otra parte existen los llamados "canales

de información", que transmiten, como su nombre indica, informaciones que por

su naturaleza no se conservan.

Por último quedan por definir los "retardos", que simulan los retrasos de tiempo

en la transmisión de los materiales o las informaciones. En los sistemas

socioeconómicos es frecuente la existencia de retardos en la transmisión de la

información y de los materiales y tienen gran importancia en el comportamiento

del sistema.

Para los retardos de material existen las funciones DELAY1 y SMOOTH. Para

los de información se utilizan DELAY3 y SMOOTH3. Los de primer orden frente

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

a una entrada escalón, responderán con una curva exponencialmente

asintótica, mientras que un retardo de tercer orden conduce a una curva

sigmoidal. En cierta forma los retardos de información actúan como filtros

alisadores de la variable de entrada.

• Lección 24 Metodología para construcción de un modelo

Dinámico de Sistemas

El proceso de desarrollo de software puede definirse como un conjunto de

herramientas, métodos y prácticas que se emplean para producir software.

Como cualquier otra organización, las dedicadas al desarrollo de software

mantienen entre sus principales fines, la producción de software de acuerdo

con la planificación inicial realizada, además de una constante mejora con el fin

de lograr los tres objetivos últimos de cualquier proceso de producción: alta

calidad y bajo coste, en el mínimo tiempo. La gestión de un PDS engloba, por

tanto, todas las funciones que mantengan a un proyecto dentro de unos

objetivos de coste, calidad y duración previamente estimados. La mayoría de

estas funciones y técnicas de gestión y control empleadas, se han importado

de otras industrias de producción que desarrollaron estos métodos a principios

de siglo.

Sin embargo, los problemas de gestión que surgen en las organizaciones de

desarrollo provienen principalmente de la gestión estratégica, como puede ser

el entorno socio/político de la organización, su nivel de madurez y los factores

humanos o del personal técnico. De hecho, la incapacidad de las técnicas de

gestión actuales para tratar el complicado factor humano ha sido reconocida

como uno de los principales problemas.

A principios de los 90 se produce un salto significativo en la gestión de

Proyectos de Desarrollo de Software (PDS) con la aparición del primer modelo

dinámico [Abdel-Hamid y Madnick, 1991]. Este modelo incorpora las

actividades básicas relacionadas con la de gestión de recursos humanos,

producción de software, planificación y control.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Las características de esta disciplina contribuyen a que se desarrollen modelos

del proceso de desarrollo de software que permiten manejar complejidades

dinámicas y conocer los efectos secundarios de las decisiones tomadas sobre

la globalidad del mismo, aspectos que son esenciales para desarrollar una

buena estrategia. Para nosotros un PDS es un sistema dinámico socio-

tecnológico complejo, cuya evolución temporal viene dada por su estructura

interna, por las relaciones existentes entre el personal técnico que trabaja en el

mismo y por el nivel de madurez de la propia organización de desarrollo.

Ventajas de la aplicación de la Dinámica de Sistemas a la Ingeniería del

Software

Las aplicaciones de la Dinámica de Sistemas en la Ingeniería del Software son

múltiples. Entre ellas destaca principalmente su aplicación a la investigación de

nuevas políticas de desarrollo, que se ve facilitada por la capacidad de

simulación. También destacan sus aplicaciones dirigidas a la formulación de

una metodología formal, que permita estandarizar el proceso de desarrollo de

software, los análisis de proyectos ya terminados (análisis post-mortem) y la

monitorización y seguimiento continuo de los proyectos en desarrollo.

Por tanto, el marco de la Dinámica de Sistemas ofrece las bases para construir

una teoría común para los PDS. La elaboración de modelos dinámicos puede

constituir una metodología formal según la cual se pueden expresar los

conocimientos sobre el sistema. Además, el proceso de construcción del

modelo, por sí mismo, obliga a los investigadores a tener un alto conocimiento

de cuáles son los parámetros claves que influyen en el comportamiento del

sistema y cómo se relacionan entre sí constituyendo lazos de realimentación.

Por otro lado, el potencial de los modelos de simulación para la formación y el

entrenamiento de los directores de proyectos es manifiesto: los entornos de

simulación sitúan a los directores frente a situaciones reales que pueden

encontrar en la práctica y les permite adquirir experiencia sin correr riesgos. La

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

disponibilidad de un modelo dinámico, que simule el comportamiento o algún

aspecto concreto de una organización, y un entorno de simulación potente

como los que existen en la actualidad, constituye una herramienta fundamental

en la toma de decisiones de dicha organización.

Modelos Dinámicos para Proyectos de Desarrollo de Software

A continuación, se presentan algunos modelos dinámicos cuyas aportaciones

fundamentales se centran en añadir nuevas capacidades y aplicaciones al

Modelo de Abdel-Hamid y Madnick. Estos modelos se pueden dividir en dos

grandes grupos:

1. Los de carácter general creados para simular entornos específicos de

desarrollo dentro de una determinada organización. Entre estos modelos

destacan:

- El Modelo SEPS (Software Engineering Process Simulation). Elaborado en el

laboratorio JPL (Jet Propulsion Laboratory). Diseñado para simular el

comportamiento de proyectos grandes considerando la existencia de un doble

ciclo de vida: el proceso de desarrollo propiamente dicho y el proceso de toma

de decisiones. Además, introduce sistemas expertos con lógica fuzzy en la

interfaz del modelo.

- El Modelo de Draper Laboratory. El Modelo de Draper constituye una

ampliación del Modelo de Abdel-Hamid y Madnick. Presenta como novedad la

incorporación de la etapa de Análisis de Requisitos (no tratada en el Modelo de

Abdel-Hamid y Madnick) contemplando la posibilidad de que estos requisitos

puedan cambiar a lo largo del proyecto e incorpora también una serie de

variables y relaciones para analizar la influencia que puede tener en el proyecto

las relaciones con el cliente.

2. Los de carácter específico para analizar problemas concretos presentados

en la gestión de PDS. Entre estos modelos destacan:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

- El Modelo de Chichacly. Este modelo realizado para estudiar el impacto de un

cambio de tecnología, concretamente el cambio de C a C++, dentro de una

empresa de desarrollo de aplicaciones para Macintosh poniendo de manifiesto

la reacción de oposición o resistencia por parte de los técnicos ante la

implantación de cualquier tipo de cambio en las técnicas o métodos de trabajo

empleados normalmente.

- El Modelo Aranda/Friddaman/Oliva. Este modelo añade aspectos nuevos al

modelo de Abdel-Hamid y Madnick como son los efectos del empleo de las

técnicas TQM (Total Quality Management) para el control de calidad, la

ampliación del horizonte temporal del proyecto con el fin de recoger las

diferentes versiones del software producido y el estudio del impacto comercial

del producto final.

- El modelo Multiproyecto. Este modelo estudia las transferencias netas de

personal que se producen cuando interactuan dos proyectos por los mismos

recursos.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 6: TEORIA DE INVENTARIOS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 25 Clasificación de los modelos de Inventarios

TEORÍA DE INVENTARIOS

Un Sistema de Inventarios se refiere al mantenimiento de cantidades

suficientes de bienes (refacciones, materias primas) que garanticen una

operación fluida en un sistema de producción o una actividad comercial.

ADMINISTRACIÓN CIENTÍFICA DE INVENTARIOS

� Formular un modelo matemático que describa el comportamiento del

sistema de inventarios.

� Derivar una política optima de inventarios respecto a este modelo.

� Utilizar un sistema de procesamiento de información computarizado para

mantener un registro de los niveles del inventario.

� A partir de los registros de los niveles de inventario, utilizar la política

optima de inventarios para señalar cuando y cuanto conviene

reabastecer.

TEORÍA DE INVENTARIOS

� Un modelo de inventarios es la abstracción matemática o lógica que

se hace de un sistema de inventarios real para dar respuesta a dos

preguntas fundamentales:

- ¿Qué Cantidad de artículos deben pedirse?

- ¿Cuándo deben pedirse?

� Los Modelos de Inventarios se clasifican en:

- Modelos DeterminÍsticos

- Modelos Estocásticos

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

El objetivo de un modelo de inventarios es buscar un equilibrio entre un

conjunto de costos que aumenta con los inventarios y otro conjunto de costos

que disminuye con los inventarios. En términos matemáticos es minimizar la

suma de los siguientes costos:

• Lección 26 COMPONENTES DE LOS MODELOS DE INVENTARIOS

2. Demanda: Tasa de consumo (artículos/tiempo).

3. Puede ser determinística o estocástica.

4. Tiempo de adelanto: Tiempo que transcurre entre el momento de la

requisición y la llegada de mercancía. Puede ser determinístico o

estocástico.

5. Política de pedidos: Es la manera como se realizan los pedidos y se

clasifican principalmente en punto de pedido, revisión periódica.

COMPONENTES DE LOS MODELOS DE INVENTARIOS

1. Costo de Ordenar o Fabricar

2. Costo de mantener o almacenar

3. Costo por Demanda Insatisfecha

Otros costos relevantes incluyen:

4. Costo por Salvamento (Almacenar)

5. Los ingresos

6. Los costos de recuperación

7. Las tasas de descuento

C (Z): COSTO DE ORDENAR O PRODUCIR Z UNIDADES

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

DETERMINÍSTICOS O ESTOCÁSTICOS

� Según si se conoce la demanda para el periodo o si se trata de una

variable aleatoria que tiene una distribución de probabilidad conocida.

� Otra componente del modelo de inventarios es el Tiempo de entrega.

� Otra clasificación posible se relaciona con la forma en que se revisa el

inventario, ya sea continua o periódicamente.

• Lección 27 Modelo Determinístico

MODELOS DETERMINÍSTICOS DE REVISIÓN CONTINUA

� MODELO EOQ BÁSICO

- Se conoce la tasa de demanda de a unidades por unidad de tiempo.

- La cantidad ordenada Q para reabastecer el inventario llega toda junta

cuando se desea.

- No se permite planear faltantes

MODELOS DETERMINÍSTICOS DE REVISIÓN PERIÓDICA

MODELO EOQ

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

MODELO EOQ original con stock de seguridad

MODELO EOQ con faltantes por surtir

MODELO EOQ con descuentos por cantidad

Nivel deinventarios

Q - S

Q - S Q

S t

T1 T2

T

Nivel deinventarios

Q

r

t

L

T T

Nivel de inventarios

Q + K

Q

K

t

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 28 Modelos Estocasticos

MODELO ESTOCÁSTICO CON REVISIÓN CONTINUA

� Cada aplicación se refiere a un solo producto

� El nivel de inventario esta bajo revisión continúa por lo que su valor

actual se conoce.

� Existe un tiempo de entrega entre la colocación de una orden y la

recepción de la cantidad ordenada

� Debe usarse una política R,Q

� La demanda para retirar unidades del inventario y venderlas es incierta,

pero sin embargo se conoce su distribución de probabilidad.

� Si ocurren faltantes el exceso de demanda queda pendiente

� Se incurre en costo de preparación cada vez que se coloca una orden

� Se incurre en costo de mantener, por cada unidad de inventario por

unidad de tiempo

� Cuando ocurren faltantes se incurre en el costo de faltantes, por cada

unidad que falta.

CostoAnual

CT (SD)

CT (CD)CT (B SD)

CT (Q*SD)

CT (B CD)

CT (Q*CD)

QB Q*(SD) Q*(CD)

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

TEORÍA DE INVENTARIOS

• Lección 29 Políticas de gestión

� La Política de Gestión se refiere a la forma como la organización

asume sistemas para el control de inventarios.

� El sistema debe reconocer la variabilidad inherente que tienen la

demanda, los tiempos entre demandas y los tiempos de entrega del

pedido para predecir la forma en que variaran los inventarios.

Existen técnicas comunes para las políticas de gestión de los inventarios.

Que son:

1. Sistemas de Cantidad Fija de Reorden: Se pide un lote de tamaño fijo

cada vez que el inventario desciende por debajo de un determinado nivel

(PUNTO DE PEDIDO).

2. Sistemas de Ciclo Fijo de Reorden: Se pide periódicamente un lote de

tamaño variable

3. Sistemas de Reabastecimiento Optativo( s y S ): Se pide cuando se

alcanza el nivel mínimo hasta completar el nivel máximo de inventario.

Sistemas de Reabastecimiento Optativo( s y S )

� Establece un máximo de inventario en existencias y pedido.

� Combina los mecanismos esenciales de Control de los Sistemas de

Cantidad Fija de Reorden y de Ciclo Fijo de Reorden.

� Mantiene vigilancia estrecha sobre los niveles de inventarios y las tasas

de demanda relacionadas con el sistema de Ciclo Fijo de Reorden

� La optimidad de la política s-S depende principalmente del hecho que la

función de costo es convexa.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

APLICACIÓN INVENTARIOS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Tiempo Entre Demandas:

Sigue una D. Uniforme (a= 0.033 b=0.133)

Tiempo de Pedido:

Sigue una D. Uniforme (a=0.033 b=0.133)

Inventarios

Parámetros:

k = $400000 / pedido

h = $ 50 / articulo

ci = $ 2700 / articulo

e = $ 100000 / articulo

Inv_inicial : 6000 articulos

n_politicas = 5

s S

9000 18000

9000 27000

9000 35000

18000 27000

18000 35000

Proceso siguiente: simular

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CONCLUSIONES

� La posibilidad que ofrece la SIMULACIÓN en la proyección de control de

inventarios a n periodos es indispensable en la TOMA DE DECISIONES

no solo por el hecho de arrojar datos sino por la comparación de

políticas que establece. Siendo el modelo diseñado, de naturaleza

probabilística, analíticamente es casi imposible conocer el

comportamiento del inventario en por ejemplo 10 años. La simulación

nos permite llegar a estas proyecciones.

� Podemos observar que cuando el costo de escasez se decrementa,

aumenta el costo de almacenamiento.

� En cuanto al modelo practico, las políticas de gestión de inventarios de

ARTÍCULOS que compiten por ser las más optimas son la Primera y la

Segunda con una diferencia que varia entre 2 y 5 %. Es tarea del

Gerente analizar estas políticas y tomar la decisión.

� Es importante observar el alto costo de escasez que origina no haber

existencias de ARTÍCULOS en la planta, debido a que la producción

depende en gran medida de este elemento.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 7 SISTEMAS BASADOS EN

AGENTES

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

o Lección 30 Dimensiones de los agentes

INTRODUCCIÓN

• Los agentes son objetos con un conjunto de estados asociados.

• Están situados dentro de un ambiente computacional en el cual pueden

sentir y actuar recíprocamente.

• Las transiciones entre estados son especificadas por una red de

comportamiento probabilística.

• Aunque cada agente sólo tenga un repertorio relativamente pequeño de

comportamientos, cuando varios agentes actúan recíprocamente la

apariencia externa es de un sistema complejo que evoluciona con el tiempo.

• COMPORTAMIENTO EMERGENTE

• Los agentes actúan recíprocamente con su ambiente por medio de

acciones.

• Un sistema de agentes consta principalmente de las tres siguientes partes:

Los Agentes

El Ambiente

Las Acciones, el Arbitro y los Comportamientos

Ejemplos

• Cadenas de suministro: productos, almacenes

• Estrategias: el dilema del prisionero

• Monitoreo y control de las condiciones ambientales en un edificio de oficinas:

aire, temperatura, iluminación.

• Agentes: personas con preferencias.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Entrenamiento en políticas para que los funcionarios desarrollen habilidades

de gerencia.

• Lección 31 Dimensiones de los Agentes

• Interacción: desde lo colaborativo a la no interacción.

• Lenguaje de comunicación: señales simples a ninguna en modo alguno.

• Control/autonomía: desde cada agente como un proceso separado (o en

hilo) hasta un proceso simple.

• Pro-activos: desde proactivos a reactivos.

• Claridad espacial: cada agente se le asigna una localización en el espacio

hasta la no noción de espacio.

• Movilidad: cada agente moviéndose alrededor en un espacio físico

simulado hasta todos estando en estados estacionarios.

• Adaptatividad: desde el aprendizaje a lo estático.

La SBA parece apropiada para la simulación de situaciones donde hay un gran

número de individuos heterogéneos quienes pueden comportarse cada uno de

modo diferente.

Heterogéneos

• Vehículos y peatones en situaciones de tráfico.

• Actores en mercados financieros.

• Comportamiento de consumidores.

• Humanos y máquinas en campos de batalla.

• Animales y/o plantas en eco-sistemas.

• Criaturas artificiales en juegos de computador.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 32 Agentes Software

Name CA/Agent URL Plataform Licensing

DUEM CA http://ceita.acad.emich.edu C++

JCASim CA http://www.sc.cs.tu-bs.de/~weimar/jcasim/ Java

ZEUS Agent http://innovate.bt.com/projects/agent.htm EOS

Swarm agent http://swarm.org Objetive-

C GNU

Kange CA http://nr.usu.edu/swarm Objetive-

C GNU

RePast Agent http://www.spc.uchicago.edu/src.cgi?csshome Java GNU

Aglets Agent http://www.trl.ibm.co.jp/aglets/ Java GNU

JADE Agent http://sharon.cselt.it/projects/jade/ Java GNU

StarLogo CA-Agent http://www.media.mit.edu/starlogo/home.htm (Java)

IMT Agent http://flock.cbl.umces.edu/imt/

Ascape CA-

Agent http://www.brook.edu/es/dynamics/models/ascape/default.htm Java

MAML Agent http://www.syslab.ceu.hu/maml Objetive-

C

• Lección 33 Sistema Multiagente

El dominio del sistema multiagente o de inteligencia artificial distribuida es una

ciencia y una técnica que trata con los sistemas de inteligencia artificial en red.

El bloque fundamental de construcción de un sistema multiagente, como es de

esperarse, son los agentes.

Aunque no existe una definición formal y precisa de lo que es un agente, éstos

son por lo general vistos como entidades inteligentes, equivalentes en términos

computacionales a un proceso del sistema operativo, que existen dentro de

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

cierto contexto o ambiente, y que se pueden comunicar a través de un

mecanismo de comunicación inter-proceso, usualmente un sistema de red,

utilizando protocolos de comunicación.

En cierto modo, un sistema multiagente es un sistema distribuido en el cual los

nodos o elementos son sistemas de inteligencia artificial, o bien un sistema

distribuido donde la conducta combinada de dichos elementos produce un

resultado en conjunto inteligente.

Hay que notar que los agentes no son necesariamente inteligentes. Existen

como en todo el resto del dominio de la inteligencia artificial, dos enfoques para

construir sistemas multiagentes:

• El enfoque formal o clásico, que consiste en dotar de los agentes de la

mayor inteligencia posible utilizando descripciones formales del

problema a resolver y de hacer reposar el funcionamiento del sistema en

tales capacidades cognitivas. Usualmente la inteligencia es definida

utilizando un sistema formal (por ejemplo, sistemas de inferencia lógica)

para la descripción, raciocinio, inferencia de nuevo conocimiento y

planificaciôn de acciones a realizar en el medio ambiente.

• El enfoque constructivista, que persigue la idea de brindarle inteligencia

al conjunto de todos los agentes, para que a través de mecanismos

ingeniosamente elaborados de interacción, el sistema mismo genere

comportamiento inteligente que no necesariamente estaba planeado

desde un principio o definido dentro de los agentes mismos (que pueden

ser realmente simples). Este tipo de conducta es habitualmente llamado

comportamiento emergente.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 34 Automátas Celulares

Historia

Los autómatas celulares son máquinas discretas que pueden realizar cierto tipo

de cómputos. Fueron inventados en la década de 1940 por John von Neumann.

Definición

• Los Autómatas Celulares son universos lógicos de tiempo y espacio discreto,

que cumplen su propia física local.

• Estructura de “entes” comunicados entre sí de forma regular de manera que el

comportamiento de cada uno está afectado por el de sus vecinos.

• Es esencial fijar una estructura regular o topología en la que se distribuyen

uniformemente los “entes”. El Espacio es particionado en elementos discretos

llamados “celdas” y el tiempo progresa en pasos discretos.

• Cada celda del espacio está en uno de un número finito de estados (posibles

estados) en cualquier tiempo

Autómata Celular

• Todas las celdas son idénticas

• Cada celda está interconectada solo con sus vecinas

• La operación de todas las celdas es síncrona

• No hay ningún control centralizado

Utilidad

• Los autómatas celulares han sido estudiados y son de interés en diferentes

disciplinas

• Simulación de sistemas complejos,

• Como alternativa al enfoque tradicional de expresión de los sistemas mediante

las ecuaciones diferenciales que describen el comportamiento de sus variables.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Incluso en algunos trabajos se ha propuesto su uso como herramienta para la

solución de las ecuaciones asociadas a ciertos sistemas [Boo96])

• Informática teórica,

• Alguno de ellos es computacionalmente completo, y como cualquier otra

arquitectura abstracta discreta, son objeto de estudio de la Informática Teórica

• Como un nuevo sistema complejo:

• El estudio de los autómatas celulares también ha sido abordado por algunos

autores como si fueran otros sistemas complejos físicos más ([Wol94])

Características

• Los AC existen en algún espacio.

• En un contexto urbano, cualquier número de ambientes artificiales pueden ser

diseñado para agentes que habiten, desde espacios pequeños hasta ciudades.

• Los agentes tienen atributos que describen su condición y las características

que gobiernan su comportamiento.

• Los agentes poseen algún límite discreto que los separa del ambiente en el

cual existen.

• Pueden ser diseñados para imitar cualquier entidad urbana como por ejemplo,

habitantes, negocios, vehículos, etc.

• Los agentes tienen conjuntos de atributos o estados que describen sus

características.

• Los estados pueden ser formulados para representar los atributos de

organizaciones urbanas reales:

• por ejemplo, un agente es diseñado para imitar un grupo familiar que puede

tener atributos tales como un ingreso medio, carro propio, etc.

• El intercambio de información es realizado a través de las vecindades.

• El comportamiento de los agentes está dirigido por reglas de transición.

• Cualquier número de reglas pueden ser diseñadas para gobernar las

actividades de los agentes:

• objetivos que los agentes buscan satisfacer (por ej., minimizar distancias de

viaje en el algoritmo del vendedor viajero),

• preferencias que podrían estar considerando disfrutar: ej: gustos o

repugnancia por ciertos espacios, etc.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Tipos de Autómatas Celulares

• Algunas familias interesantes son las siguientes:

• Autómatas celulares no deterministas.

• La función de transición especifica un conjunto de posibles estados siguientes

para cada configuración de los vecinos.

• Autómatas celulares probabilistas. y la de los

• La función de transición especifica un conjunto de posibles estados siguientes

para cada configuración de los vecinos y define, además, una distribución de

probabilidades discreta para asociar una probabilidad a cada opción.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 8 INTRODUCCION A LOS SISTEMAS

BASADOS EN EL CONOCIMIENTO

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 35 Modulos básicos de Representación del Conocimiento

Representación del Conocimiento

Dado que el conocimiento es importante y primordial para el

comportamiento inteligente, su representación constituye una de las

máximas prioridades de la investigación en IA. El conocimiento puede ser

representado como imágenes mentales en nuestros pensamientos, como

palabras habladas o escritas en algún lenguaje, en forma gráfica o en

imágenes, como cadenas de caracteres o colecciones de señales eléctricas

o magnéticas dentro de un computador. En nuestro estudio de IA,

consideraremos las representaciones escritas y sus correspondientes

estructuras de datos utilizadas para su almacenamiento en un computador.

La forma de representación que se escoja dependerá del tipo de problema a

ser resuelto y de los métodos de inferencia disponibles.

Una representación del conocimiento puede ser un esquema o dispositivo

utilizado para capturar los elementos esenciales del dominio de un

problema. Una representación manipulable es aquella que facilita la

computación. En representaciones manipulables, la información es

accesible a otras entidades que usan la representación como parte de una

computación.

Debido a la variedad de formas que el conocimiento puede asumir, los

problemas involucrados en el desarrollo de una representación del

conocimiento son complejos, interrelacionados y dependientes del objetivo.

El términos generales, se debe tratar que el conocimiento esté representado

de tal forma que:

• Capture generalizaciones.

• Pueda ser comprendido por todas las personas que vayan a

proporcionarlo y procesarlo.

• Pueda ser fácilmente modificado.

• Pueda ser utilizado en diversas situaciones aún cuando no sea

totalmente exacto o completo.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Pueda ser utilizado para reducir el rango de posibilidades que

usualmente debería considerarse para buscar soluciones.

El conocimiento declarativo puede ser representado con modelos

relacionales y esquemas basados en lógica. Los modelos relacionales

pueden representar el conocimiento en forma de árboles, grafos o redes

semánticas. Los esquemas de representación lógica incluyen el uso de

lógica proposicional y lógica de predicados.

Los modelos procedimentales y sus esquemas de representación

almacenan conocimiento en la forma de cómo hacer las cosas. Pueden

estar caracterizados por gramáticas formales, usualmente implantadas por

sistemas o lenguajes procedimentales y sistemas basados en reglas

(sistemas de producción).

Las representaciones declarativas son usualmente más expansivas y

costosas, en el sentido que la enumeración puede ser redundante e

ineficiente. Sin embargo, la modificación de las representaciones

declarativas es usualmente muy fácil; simplemente se agrega o se elimina

conocimiento. Las representaciones procedimentales, en cambio, pueden

ser más compactas, sacrificando flexibilidad. Representaciones prácticas

pueden incluir elementos tanto declarativos (listado de hechos conocidos),

como procedimentales (un conjunto de reglas para manipular los hechos).

Manipulación del conocimiento

Existen tres paradigmas que los investigadores han utilizado

tradicionalmente para la resolución de problemas de IA:

Programación Heurística.- Está basado en el modelo de

comportamiento humano y su estilo para resolver problemas complejos.

Existen diversos tipos de programas que incluyen algoritmos heurísticos.

Varios de ellos son capaces de aprender de su experiencia.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Redes Neuronales Artificiales.- Es una representación abstraída del

modelo neuronal del cerebro humano. Las redes están formadas por un

gran número de elementos simples y por sus interconexiones. Una red

neuronal artificial puede ser simulada o ser real. Al elemento procesador de

la red, se lo denomina neurona artificial.

Evolución Artificial.- Su modelo está basado en el proceso genético de

evolución natural, propuesto por Charles Darwin. Se utilizan sistemas

simulados en computador que evolucionan mediante operaciones de

reproducción, mutación y cruce (Algoritmos Genéticos).

Cada paradigma comprende una colección de métodos, configuraciones y

técnicas desarrolladas para manipular el conocimiento. En general, una

técnica de IA está caracterizada por incluir los siguientes componentes:

Procesos de Búsqueda.- Proporciona una forma de resolver problemas

para los cuales no hay un método más directo, así como también se

constituye en un marco de trabajo dentro del cual cualquier técnica directa

puede ser incorporada.

Uso del Conocimiento.- Proporciona una forma de resolver problemas

explotando las estructuras de los objetos involucrados.

Abstracción.- Proporciona una forma de separar rasgos importantes y

variaciones, de los tantos que no tienen importancia.

La manipulación del conocimiento involucra además la selección de objetos,

entidades y rasgos que son claves para las representaciones. Al nivel más

bajo de representación del conocimiento, estas entidades pueden consistir

de simples datos de entrada, por ejemplo: grabaciones cuantizadas y

digitalizadas de audio, datos de una imagen, valores captados por un

sensor, información de interruptores o hechos elementales. Estos bloques

constructivos de la representación se los denomina comúnmente primitivas.

La representación escogida para las primitivas, puede determinar las

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

capacidades del sistema, el éxito, la corrección y sus posibilidades de

expansión.

• Lección 36 Lenguajes para la representación del conocimiento

En el caso de los sistemas basados en conocimiento, el lenguaje en el que

se expresa la ontología debe reunir características que a veces

(dependiendo del dominio) no es fácil compatibilizar:

• Sintaxis formalizada, para poder diseñar sobre bases sólidas un

procesador (lo que en sistemas expertos se llama tradicionalmente

«motor de inferencias».

• Semántica bien definida y que permita la implementación procedimental

en el procesador de algoritmos de razonamiento eficientes.

• Desde el punto de vista pragmático, expresividad suficiente para

representar de la manera menos forzada posible el conocimiento. Esto

significa que, para una determinada conceptuación, el lenguaje con el

que se construyen los modelos en el nivel simbólico debe permitir una

interpretación declarativa que represente todos los aspectos de esa

conceptuación. En la práctica puede ocurrir que no encontremos el

lenguaje «ideal» , y tengamos que «forzar» la conceptuación para que

se ajuste al lenguaje elegido.

Hay lenguajes formales, o «teóricos» , que satisfacen en mayor o menor

grado esas condiciones y lenguajes de implementación, o «prácticos» , que,

siguiendo el modelo de algún lenguaje formal, están adaptados para

mecanizar la construcción de ontologías. Nos centraremos en los primeros,

que son relativamente «estables» , y sobre los que se basan los segundos,

algunos muy «volátiles» . Por ejemplo:

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Prolog es un lenguaje de implementación de la lógica de primer orden,

que en sus versiones más recientes incluye también construcciones para

la programación con restricciones.

• OWL (Web Ontology Language) es un lenguaje de ontolologías para la

web basado en una lógica de descripciones (en realidad, son tres

sublenguajes). Procede de la fusión de otros dos elaborados

independientemente alrededor del año 2000: DAML (DARPA Agent

Markup Language, de la Agencia de proyectos del Ministerio de Defensa

U.S.A) y OIL (Ontology Inference Layer, de un consorcio formado en el

marco de los programas de la U.E.). En 2001 se formó un comité

conjunto que hizo una propuesta al Consorcio Web (W3C), y éste

publicó el estándar («Proposed Recommendation» en la terminología del

W3C) en 2003, modificado el 10 de febrero de 2004. Existen numerosas

propuestas de mejoras y modificaciones.

Hasta la segunda mitad de los años 80 se estaban utilizando diversos

lenguajes que podían clasificarse en dos tipos:

• Lenguajes basados en la lógica de predicados de primer orden, con

sintaxis y semántica formalizadas, con una base rigurosa para el

razonamiento, pero con grandes dificultades para implementar

algoritmos de razonamiento eficientes, con una rigidez sintáctica que

impide ciertas conceptuaciones «naturales» y con pocas posibilidades

de modularización.

• Lenguajes basados en modelos de psicología que, al estar derivados del

estudio de la mente humana, permiten conceptuaciones más naturales y

algoritmos de razonamiento más eficientes, pero que tienen una sintaxis

menos formalizada y carecen de una definición semántica precisa (a

pesar de que uno de ellos se llama «redes semánticas» ).

Como es natural, diversos investigadores trataron de elaborar propuestas

para aunar las ventajas de unos lenguajes y otros (Hayes, 1979, Nilsson,

1982, Brachman y Levesque, 1985), pero no fue hasta el final de los 90

cuando quedaron relativamente establecidas las llamadas «lógicas de

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

descripciones» , que en el momento actual son los lenguajes por

antonomasia para la representación del conocimiento.

• la lógica clásica de primer orden sigue siendo la base fundamental de

las demás formulaciones de la lógica

• en el diseño de muchos sistemas basados en conocimiento,

especialmente los que no son muy complejos, se siguen utilizando

algunos de esos lenguajes;

• las ideas originales ayudan a entender y justifican ciertas decisiones de

diseño, y la naturaleza interdisciplinaria de estos primeros trabajos hace

muy interesante su estudio.

Empezaremos precisamente con un breve apunte para mostrar cómo

algunos modelos elaborados en psicología se han aplicado luego en

ingeniería, por ejemplo, en la programación orientada a objetos y en RDF.

• Lección 37 Eficiencia en Sistemas de Reconocimiento de

patrones

El reconocimiento de patrones, también llamado lectura de patrones,

identificación de figuras y reconocimiento de formas Ernesto A. Meyer

Glosario de términos técnicos, Entrada pattern recognition Grupo de

Informática Aplicada al Inglés Técnico, la Argentina, 1995, bajo la licencia

de documentación libre es el reconocimiento de patrones. No sólo es un

campo de la informática sino un proceso fundamental que se encuentra en

casi todas las acciones humanas.

El punto esencial del reconocimiento de patrones es la clasificación: se

quiere clasificar un señal dependiendo de sus características. Señales,

características y clases pueden ser de cualquiera forma, por ejemplo se

puede clasificar imágenes digitales de letras en las clases «A» a «Z»

dependiente de sus píxeles o se puede clasificar ruidos de cantos de los

pájaros en clases de órdenes aviares dependiente de las frecuencias.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

El objetivo es clasificar patrones con base en un conocimiento a priori o

información estadística extraída de los patrones. Los patrones a clasificar

suelen ser grupos de medidas u observaciones, definiendo puntos en un

espacio multidimensional apropiado.

Un sistema de reconocimiento de patrones completo consiste en un sensor

que recoge las observaciones a clasificar, un sistema de extracción de

características que transforma la información observada en valores

numéricos o simbólicos, y un sistema de clasificación o descripción que,

basado en las características extraídas, clasifica la medición.

La clasificación utiliza habitualmente uno de las siguientes procedimientos:

clasificación estadística (o teoría de la decisión), clasificación sintática (o

estructural). El reconocimiento estadístico de patrones está basado en las

características estadísticas de los patrones, asumiendo que han sido

generados por un sistema probabilístico. El reconocimiento estructural de

patrones está basado en las relaciones estructurales de las características.

Para la clasificación se puede usar un conjunto de aprendizaje, del cual ya

se conoce la clasificación de la información a priori y se usa para entrenar al

sistema, siendo la estrategia resultante conocida como aprendizaje

supervisado. El aprendizaje puede ser también no supervisado, el sistema

no tiene un conjunto para aprender a clasificar la información a priori, sino

que se basa en cálculos estadísticos para clasificar los patrones.

Entre las aplicaciones del reconocimiento de patrones son el

reconocimiento de voz, la clasificación de documentos (por ejemplo

spam/no spam), el reconocimiento de escritura, reconocimiento de caras

humanas y muchas más. Los dos últimos ejemplos son representativos del

análisis de imágenes, un subconjunto del reconocimiento de patrones que

toma imágenes digitales como entradas del sistema.

El reconocimiento de patrones es más complejo cuando se usan plantillas

para generara variantes. Por ejemplo, en castellano, las frases a menudo

siguen el patrón "sujeto-predicado", pero se requiere cierto conocimiento de

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

la lengua para detectar el patrón. El reconocimiento de patrones se estudia

en muchos campos, incluyendo psicología, etología, informática y

procesado digital de la señal.

• Lección 38 Árboles de Decisión

Un árbol de decisión es un modelo de predicción utilizado en el ámbito de

la inteligencia artificial, dada una base de datos se construyen estos

diagramas de construcciones lógicas, muy similares a los sistemas de

predicción basados en reglas, que sirven para representar y categorizar una

serie de condiciones que suceden de forma sucesiva, para la resolución de

un problema.

Un árbol de decisión tiene unas entradas las cuales pueden ser un objeto o

una situación descrita por medio de un conjunto de atributos y a partir de

esto devuelve una respuesta la cual en últimas es una decisión que es

tomada a partir de las entradas. Los valores que pueden tomar las entradas

y las salidas pueden ser valores discretos o continuos. Se utilizan más los

valores discretos por simplicidad, cuando se utilizan valores discretos en las

funciones de una aplicación se denomina clasificación y cuando se utilizan

los continuos se denomina regresión.

Un árbol de decisión lleva a cabo un test a medida que este se recorre

hacia las hojas para alcanzar así una decisión. El árbol de decisión suele

contener nodos internos, nodos de probabilidad, nodos hojas y arcos. Un

nodo interno contiene un test sobre algún valor de una de las propiedades.

Un nodo de probabilidad indica que debe ocurrir un evento aleatorio de

acuerdo a la naturaleza del problema, este tipo de nodos es redondo, los

demás son cuadrados. Un nodo hoja representa el valor que devolverá el

árbol de decisión. y finalmente la ramas brindan los posibles caminos que

se tienen de acuerdo a la decisión tomada.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 39 Representación de Conocimientos

La representación del conocimiento tiene como objetivos principales ayudar

a la resolución de problemas y el aprendizaje.

La definición de conocimiento es que el conocimiento es un grupo

organizado de información estructurada ( grupos de datos obtenidos de un

cierto problema partiendo de abstracciones de la realidad ) acerca de un

tema.

Hay tres tipos de conocimiento : de tipo procedimiento , descriptivo y

metaconocimiento.

El conocimiento descriptivo son objetos y relaciones entre ellos.

El conocimiento de tipo procedural es como usamos el conocimiento

descriptivo.

El metaconocimiento es información acerca de nuestro conocimiento.

La resolución de problemas es responder a una serie de preguntas a partir

de algunos datos específicos.

El proceso de resolución de problemas consisten en dos partes : en la

primera hacemos abstracciones del problema ( extracción de la información

relevante ) y generamos un modelo conceptual.

En la segunda hacemos la aplicación del modelo o hacemos inferencias

sobre el modelo para obtener la solución.

El aprendizaje es un proceso de almacenaje de conocimiento en nuestra

memoria.

Existen 4 requerimientos para el aprendizaje : motivación, tiempo,

preparación y método.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Hay dos tipos tipos de aprendizaje : de primera mano y de segunda mano.

El aprendizaje de primera mano consiste en que experimentas con

pruebas de tipo tentativa y error.

El aprendizaje de segunda mano consiste en que te crees las cosas que te

cuentan.

La representación del conocimiento se realiza por medio del lenguage

natural o por medio de lenguajes graficos formales ( diagramas, grafos, etc

).

El lenguaje natural tiene la desventaja de que es ambiguio y lineal

mientras que el lenguaje formal da un visión clara de las cosas. El lenguaje

formal grafico hace que no se tenga porque seguir un orden lineal y coge la

ventaja de aprovechar todas las capacidades corticales del cerebro humano

(por lo tanto todo el potencial de la mente humana).

Sistemas Basados en Conocimiento

Un sistema experto o sistema basado en conocimiento se puede definir como:

``...sistema que resuelve problemas utilizando una representación simbólica del

conocimiento humano'' [Jackson].

Características importantes:

• Representación explícita del conocimiento.

• Capacidad de razonamiento independiente de la aplicación específica.

• Capacidad de explicar sus conclusiones y el proceso de razonamiento.

• Alto rendimiento en un dominio específico.

• Uso de heurísticas vs. modelos matemáticos.

• Uso de inferencia simbólica vs. algoritmo numérico.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Algunas de estas propiedades se deben a la separación entre:

1. Conocimiento específico del problema - Base de Conocimiento.

2. Metodología para solucionar el problema - Máquina de Inferencia.

Importancia del Conocimiento

Los sistemas basados en conocimiento basan su rendimiento en la cantidad y

calidad del conocimiento de un dominio específico y no tanto en las técnicas de

solución de problemas.

Diferencia de sistemas basados en conocimiento con otras técnicas:

• En matemáticas, teoría de control y computación, se intenta resolver el

problema mediante su modelado (Modelo del problema).

• En sistemas expertos se ataca el problema construyendo un modelo del

``experto'' o resolvedor de problemas (Modelo del experto).

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

CAPITULO 8 MICROMUNDOS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 40 Introducción, Definición y elementos

DEFINICIÓN

Es un concepto desarrollado por Marvin Misnky y Seymour Papert, como un

modelo para realizar representaciones de una realidad inmediata sobre un

tema, que será refinado o pulido por los alumnos, iniciando con un punto de

partida que les permita crear sus propias "extensiones".

Se puede considerar como un laboratorio de estudio que ayuda a comprender y

crear nuevos conceptos.

Son construibles con la ayuda de una computadora debido a la posibilidad que

presenta esta de simular procesos y sobre todo procesos abstractos y ficticios.

La investigación viene mostrando consistentemente que el aprendizaje en

condiciones de amplia libertad es proporcional al desarrollo intelectual y a la

madurez de los estudiantes.

ELEMENTOS

• Argumento e historia.

• Variables de Control.

• Variables de Resultado.

• Mundo (Escenarios).

• Retos (Implícitos / explícitos).

• Personajes y Roles.

• Objetos (Herramientas).

• Zonas de Comunicación.

• Mecanismos de Comunicación.

• Usuario(Aplicación).

• Ambientación.

• Recuperación de estados anteriores.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Niveles de Dificultad,

• Manejo de información del usuario.

• Mecanismos para Análisis de desempeño.

• Ampliación de las posibilidades del micromundo.

• Personalización del ambiente.

• Soporte al trabajo en grupo.

Algunos de estos elementos son necesarios y otros por ahora deseables.

PRINCIPIOS

1. Poder o dominio: el alumno debe "poder hacer", adquirir dominio o

pericia en la resolución de conflictos de modo autónomo, y al mismo tiempo,

sentir que se fortalece la visión de sí mismo como constructor de estructuras

intelectuales, y no como mero observador pasivo.

2- Resonancia cultural: se refiere a la posibilidad de que las producciones de

quienes lo utilizan respondan a modelos culturales propios.

3- Continuidad cognoscitiva: implica la necesidad de que un material

informático respete los tiempos evolutivos de quien aprende, y que los nuevos

aprendizajes se integren a los anteriores de manera armónica y organizada

OBJETIVOS

• Los micromundos aplicados a la educación deben cumplir los siguientes

objetivos:

• Favorecer el aprendizaje significativo de los contenidos.

• Ejercitar habilidades relacionadas con el tema simulado.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Ejercitar el uso de los principios en los que se funda el pensamiento lógico.

• Desarrollar la creatividad a través de la construcción de aplicaciones.

• Implementar estrategias metodológicas de tipo social.

CARACTERISTICAS

Tienen tres características importantes:

• Se presenta ante el aprendiz en forma simple:

debe propiciar la expansión de las ideas del aprendiz a medida que este esté

preparado para ellas, dándole la posibilidad de modificar y explorar el

micromundo sin que requiera mucho entrenamiento; el aprendiz autoregula su

propio aprendizaje.

• Debe estar de acuerdo con el estado afectivo y cognitivo del estudiante, con

características motivacionales que lo pongan ante situaciones de desafío que

incentiven su curiosidad y su fantasía en ambientes, que de acuerdo con sus

capacidades y habilidades, lo guíen, le den la oportunidad de descubrir y a la

vez sea él quien lleve el control.

• Debe promover la construcción activa del conocimiento por parte de los

estudiantes. Utilizar algún software de simulación para elaborar y comprobar

hipótesis; Establecen mediante la práctica en los laboratorios virtuales, nuevas

relaciones entre las variables del sistema que se estudia.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 41 Sistemas Complejos, Agentes y Algoritmos Bioinspirados

• Cuando los requerimientos de un sistema de computo crecen demasiado es

muy difícil construir sistemas con paradigmas clásicos.

• Un ejemplo de esto se ve en la ingeniería de software orientada a objetos.

• El problema se presenta cuando se tienen una gran cantidad de

programadores.

• Afortunadamente existen propuestas como UML.

• Un sistema es considerado “complejo” cuando está compuesto de un gran

número de elementos los cuales interactúan entre sí.

• Por ejemplo, una célula está compuesta de moléculas y proteínas. Decimos

que la célula está viva, pero no que sus componentes lo están.

• En computación, Internet cuenta con propiedades que una computadora no

tiene.

AGENTES

• Son procesos con propósito dado por el programador.

• Los agentes le dan una visión dinámica a los objetos.

• En sistemas multi - agentes, cada agente hace su tarea independientemente

de lo que hagan los otros agentes.

• Hay una gran variedad de agentes: racionales, emocionales, de búsqueda, de

interfaz.

• Los demonios de los sistema UNIX son agentes.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• La fuerza detrás del paradigma de agentes es la del principio “divide y

vencerás”.

• La diferencia entre agentes y objetos es el aspecto dinámico de los primeros.

ALGORITMOS BIOINSPIRADOS

• Se basa en emplear analogías con sistemas naturales.

• Tienen como características ser auto - adaptativos, auto-organizados y ser

capaz de auto-aprender.

• Un sistema es adaptativo si mejora su desempeño en el tiempo.

• Un sistemas es auto – organizativo si aumenta su organización con el tiempo.

• Debido a su capacidad de resolver problemas complejos se utiliza

actualmente en muchos campos como logistica, diseño en ingeniería, etc.

• Entre los algoritmos bio – inspirados podemos citar:

� Computación evolutiva

� Sistemas basados en agentes

� Redes neuronales

� Chip ADN

� Algunas de las ventajas de los algoritmos bio – inspirados son:

� Proporciona una alta probabilidad de encontrar un optimo global.

� Son capaces de funcionar bien en entornos dinámicos.

� Se pueden optimizar múltiples criterios simultáneamente.

� Son algoritmos simples.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Lección 42 Inteligencia de Enjambres

¿QUE ES INTELIGENCIA DE ENJAMBRES?

La inteligencia de enjambres es una propiedad de sistemas de robots

(agentes) no inteligentes (o simples) exhibiendo colectivamente un

comportamiento inteligente.

ENJAMBRES

o Desarrollado hacia 1994 en el Santa Fe Institute en Nuevo

México, conducido por Crhis Langton.

o Inspirados en la organización y conducta de insectos sociales.

o Un enjambre es un agente con muchas otras cualidades.

EJEMPLOS DE ENJAMBRES NATURALES

ALGUNAS CARACTERÍSTICAS

• Es versátil.

• Es robusto.

• Es una aproximación basado en una población.

AVES ABEJAS HORMIGAS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Distribuido.

• No hay modelo del ambiente (explicito).

• Habilidad para cambiar el ambiente.

• Lección 43 Colonias de Hormigas, Modelo Real, Modelo Virtual

COLONIAS DE HORMIGAS

Individuos “torpes”, apropiadamente comunicados en un enjambre, ofrecen

soluciones inteligentes a sus problemas.

GENERALIDADES

• Tienen la capacidad de encontrar los caminos más cortos entre el

• hormiguero y la comida.

• Comunicación de forma indirecta, por medio del ambiente.

• Basados en la simulación del

• comportamiento de las hormigas.

• Ideal para solucionar problemas de optimización y simulaciones.

COLONIAS DE HORMIGAS: Modelo Real

• Uno de sus objetivos es servir a la colonia con el aporte de comida.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Disponen de una sustancia (feromona) que les permite seguir el rastro desde

la colonia hasta la comida y viceversa.

• La hormiga decide un camino de forma probabilística en función de la cantidad

de feromona

COLONIA DE HORMIGAS MODELO REAL

• La acción continuada de la colonia hace que los caminos mas cortos

acumulen mayor cantidad de feromona y por lo tanto sean los mas utilizados.

• Los caminos menos utilizados pierden feromona por la evaporación.

COLONIA DE HORMIGAS MODELO VIRTUAL

• Los algoritmos de optimización basados en colonias de hormigas simulan el

comportamiento del modelo real con hormigas artificiales.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

• Aplicable a problemas que puedan ser representados mediante un grafo.

• Cada arco guarda información:

o Sobre la cantidad de feromona.

o Coste o heurística de su recorrido.

En cada iteración las hormigas artificiales recorren un camino del grafo (una

solución al problema), asignando feromona según la bondad de la solución al

problema.

Se utiliza un algoritmo de evaporación que simula el proceso real.

ALGUNAS APLICACIONES

� Agente viajero.

� Organización de iguales.

� Telecomunicaciones.

PROBLEMA DEL AGENTE VIAJERO

► Elige un pueblo para ir con una probabilidad que es función de la

distancia del pueblo y de la cantidad de feromona.

► Se desaprueban las transiciones a los pueblos que ya han sido visitados

por esa hormiga en el mismo ciclo.

► La hormiga completa el recorrido, dejando la sustancia en cada ciudad

visitada.

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

APLICACIÓN A UN PROBLEMA SIMPLE CON 10 CIUDADES

VENTAJAS SOBRE LOS ALGORITMOS CLÁSICOS

• Al ser un algoritmo distribuido, la fuente de datos no está centralizada.

• Ejecución de tareas de forma paralela.

• Optimización del tiempo.

ORGANIZACIÓN DE IGUALES

• Cuentan con personal especializado para ejecutar labores.

• Forman pilas de elementos, tales como cuerpos muertos, larvas o granos de

arena.

• Los elementos aislados deben recogerse y son dejados en algún otro lugar

donde más elementos de este tipo estén presentes.

ORGANIZACIÓN DE IGUALES CLUESTERIZACION DE CUERPOS

Hormigas depositadas randomicamente al principio del experimento.

DISTRIBUCIÓN DEL RASTRO AL PRINCPIO DE LA BÚSQUEDA

DISTRIBUCIÓN DEL RASTRO DESPUÉS DE 100 CICLOS

Curso de Simulación

Ing. Carlos Andres Ruiz Romero

Después de muchas horas, las hormigas han ordenado los elementos de

acuerdo a características de estos.

TELECOMUNICACIONES

En holanda es usado un algoritmo de colonia de hormigas para el problema de

balanceo de carga en redes de telecomunicaciones, aunque su implementación

difiere en muchos detalles dadas las diferentes características del problema.