Post on 22-Dec-2015
description
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
• 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
• 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
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
• 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
• 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
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
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
• 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.