Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Simio y Simulación:
Modelado, Análisis, Aplicaciones
Quinta edición
I
Machine Translated by Google
yo
Simio y Simulación:
Modelado, Análisis, Aplicaciones
Quinta edición
Revisión: 1 de noviembre de 2018
Copyright c 2018 por Jeffrey S. Smith, David T. Sturrock y W. David Kelton. Reservados todos los derechos. Salvo lo
permitido por la Ley de derechos de autor de los Estados Unidos de 1976, ninguna parte de esta publicación puede
reproducirse ni distribuirse de ninguna forma ni por ningún medio, ni almacenarse en un sistema de recuperación de bases
de datos, sin el permiso previo por escrito del editor.
Damos la bienvenida a los comentarios y otras contribuciones de los instructores y estudiantes para
textbook@simio.com. Este libro de texto fue escrito para Simio 10 o posterior.
• Los profesores que deseen una subvención para usar la versión académica completa de Simio sin cargo pueden
aplicar en www.simio.com/academics.
• Los estudiantes registrados pueden usar el software proporcionado por la universidad sin cargo o pueden obtener un
copia personal por una tarifa nominal a través de su profesor.
Simio es una marca registrada de Simio LLC. Microsoft, Windows, Excel, Word, Power Point, Visio y Visual Studio son
marcas comerciales o marcas comerciales registradas de Microsoft Corporation. OptQuest es una marca registrada de
OptTek Systems, Inc. Stat::Fit es una marca registrada de Geer Mountain Software Corporation. @RISK y StatTools son
marcas registradas de Palisade Corporation. Minitab es una marca comercial registrada de Minitab, Inc. Flexsim es una
marca comercial de productos de software Flexsim. Arena es una marca comercial de Rockwell Automation.
ILOG es una marca registrada de IBM. APO-PP/DS es una marca comercial de SAP. Wonderware es una marca comercial
de Schneider Electric. Todas las demás marcas comerciales y marcas comerciales registradas se reconocen como
propiedad de sus respectivos dueños. Las instrucciones de este libro no cubren todos los aspectos o detalles del software
Simio. Consulte la documentación del producto para obtener las descripciones más recientes y completas.
Machine Translated by Google
Prefacio
Esta quinta edición explica cómo usar la simulación para tomar mejores decisiones comerciales en dominios de
aplicaciones que van desde la atención médica hasta la minería, desde la fabricación pesada hasta las cadenas de
suministro y todo lo demás. Está escrito para ayudar a los usuarios técnicos y no técnicos a comprender mejor los
conceptos y la utilidad de la simulación. Se puede utilizar en un entorno de aula o como apoyo al estudio
independiente. El software moderno hace que la simulación sea más útil y accesible que nunca y este libro ilustra
R
los conceptos de simulación con Simio , líder en software de simulación.
Esta edición está escrita para Simio Versión 10 o posterior, lo último en tecnología de simulación.
Hemos incorporado muchas funciones nuevas, así como sugerencias de los lectores. Hemos mejorado el contenido
de Monte Carlo, el análisis de entrada y el análisis de salida, y hemos agregado una nueva cobertura de técnicas
de modelado basadas en datos y generadas por datos. Finalmente, actualizamos significativamente y renombramos
el capítulo Programación basada en simulación a Programación basada en simulación en Industry 4.0, agregando
material que ilustra cómo la simulación está contribuyendo a la creación y operación efectiva de gemelos digitales
y programación y control operativos. Se han mejorado y ampliado los problemas del final del capítulo, y se han
incorporado muchas sugerencias de los lectores. Hemos reorganizado el material para mejorar el flujo y tenemos
actualizaciones a lo largo del libro para muchas de las nuevas características de Simio agregadas recientemente.
Este libro puede servir como texto principal en el primer y segundo curso de simulación tanto a nivel de pregrado
como de posgrado. Está escrito en un enfoque de escritura de estilo tutorial accesible centrado en ejemplos
específicos en lugar de conceptos generales, y cubre una variedad de aplicaciones que incluyen un sabor
internacional. Nuestra experiencia ha demostrado que estas características hacen que el texto sea más fácil de leer
y absorber, además de atraer a estudiantes de diferentes orígenes culturales y de aplicaciones.
Un primer curso de simulación probablemente cubriría del Capítulo 1 al Capítulo 8 a fondo, y probablemente
los Capítulos 9 y 11, particularmente para estudiantes de clase alta o de posgrado. Para un segundo curso de
simulación, podría funcionar omitir o revisar rápidamente los Capítulos 1-3 y 6, cubrir completamente todos los
demás capítulos hasta el Capítulo 11 y usar el Apéndice A como tareas de refuerzo.
El texto o los componentes del mismo también podrían respaldar un módulo de simulación de unas pocas
semanas dentro de un curso de encuesta más amplio en programas sin un curso de simulación independiente (por
ejemplo, MBA). Para un módulo de simulación que es parte de un curso de encuesta más grande, recomendamos
concentrarse en los Capítulos 1, 4 y 5, y luego quizás tocar ligeramente los Capítulos 7 y 8.
La extensibilidad presentada en el Capítulo 11 podría proporcionar un trabajo de proyecto interesante para un
estudiante de posgrado con cierta experiencia en programación, ya que podría vincularse fácilmente con otros
temas de investigación. Del mismo modo, el Capítulo 12 podría usarse como introducción a algún estudio o
investigación avanzados sobre las últimas técnicas en planificación y programación basadas en simulación. El
Apéndice A podría usarse como tareas de los estudiantes o problemas de desafío en un curso de estudio
independiente o enfocado en aplicaciones.
R
Asumimos una familiaridad básica con Microsoft y ventanas R sistema operativo y aplicaciones
R
Word. el trabajoRprevio
Microsoftasume
comunes como Microsoft Excel. Este libro también probabilidad
del curso
y lay estadística.
la comodidad Los
con
lectores
la no
necesitan ser expertos, pero sí
iii
Machine Translated by Google
IV
necesita dominio de los conceptos básicos de probabilidad y estadística; los temas más específicos se describen al principio de
los capítulos 2 y 6.
Este libro de texto fue escrito para usarse con el software de simulación Simio. El siguiente Simio
Los productos están disponibles para uso académico:
• Simio Personal Edition permite una capacidad de modelado completa, pero permite guardar y experimentar solo en
modelos pequeños (hasta 30 objetos y 30 pasos). Se puede descargar sin costo desde www.simio.com/evaluate.php.
Si bien esto es útil para el aprendizaje personal y las clases cortas, la limitación del modelo pequeño generalmente lo
hace inadecuado para un entorno de aula donde se involucrarán problemas y proyectos más grandes.
• Simio Academic Edition es un software completo equivalente a Simio Design Edition disponible comercialmente. En
muchas regiones (incluido EE. UU.) no tiene limitaciones de tamaño de modelo; en otras áreas se limita a modelos de
hasta 200 objetos (bastante grandes). En todos los casos, se limita a un uso no comercial (los detalles completos están
disponibles en www.simio.com/academics/simio-academic-simulation-products.htm) y se limita a su uso únicamente en
las computadoras de la universidad y del instructor. Los instructores que deseen una subvención para usar Simio sin
cargo para su departamento y laboratorios pueden solicitarla en www.simio.com/academics.
• Simio Student Edition es idéntico a Simio Academic Edition, pero tiene licencia para que lo usen los estudiantes en sus
propias computadoras. Una licencia de un año está disponible por una tarifa nominal para los estudiantes que están
registrados en un curso acreditado. Tenga en cuenta que los estudiantes pueden usar una edición académica de Simio
proporcionada por la universidad sin cargo. Los profesores que hayan obtenido una subvención de software deben
consultar sus cartas de activación para obtener instrucciones sobre cómo organizar la disponibilidad del software para
sus alumnos, o los profesores pueden ponerse en contacto con academic@simio.com.
Los estudiantes deben comunicarse con sus instructores para conocer la disponibilidad.
Simio sigue un proceso de desarrollo ágil: además de los principales lanzamientos anuales, hay lanzamientos menores
cada tres semanas. Esto es bueno desde el punto de vista de tener nuevas funciones y correcciones de errores disponibles tan
pronto como se crean. Es malo desde el punto de vista de "mantenerse al día": descargar, aprender y documentar. Esta edición
de libro de texto fue escrita para usarse con la versión 10.174 o posterior de Simio. Si bien se seguirán agregando nuevas
funciones, los conceptos presentados en esta edición deberían ser precisos para cualquier versión 10 y posteriores. Los
ejemplos y las figuras pueden tener un aspecto ligeramente diferente si se utilizan diferentes versiones (consulte la explicación
en los Capítulos 1 y 4).
El material complementario del curso también está disponible en línea. Los recursos en línea están disponibles en tres
categorías. Se puede encontrar un sitio web que contiene información general sobre libros de texto y recursos disponibles para
el público en www.simio.com/publications/SASMAA. La información y los recursos disponibles solo para estudiantes están
disponibles a través de enlaces en esa página: aquí encontrará los archivos modelo y otros archivos utilizados en los ejemplos
y problemas de final de capítulo, problemas adicionales y otros recursos útiles. El nombre de usuario es estudiante y la
contraseña es Reg!stered5tudent. Esta área para estudiantes del sitio web también contendrá actualizaciones posteriores a la
publicación, como información específica de versiones posteriores. También hay enlaces especiales de acceso restringido en
esa página que están disponibles para los instructores, que contienen diapositivas y otros recursos didácticos útiles. Un
instructor registrado debe comunicarse con Simio (academic@simio.com) para obtener la información de inicio de sesión.
Muchas personas nos ayudaron a llegar a este punto. Primero, como coautor de la primera edición, el Dr. Alexander
Verbraeck ha brindado contribuciones incalculables a la estructura, la calidad y el contenido. Dr.
C. Dennis Pegden hizo contribuciones importantes al capítulo de programación. El personal técnico de Simio LLC (Cory Crooks,
Glenn Drake, Glen Wirth, Dave Takus, Renee Thiesing, Katie Prochaska y Christine Watson) fueron excelentes para ayudarnos
a comprender las características, encontrar
Machine Translated by Google
la mejor manera de describirlos e ilustrarlos, e incluso proporcionó corrección de pruebas y ayuda con los
estudios de casos. Jan Burket y Alex Molnar nos ayudaron con la revisión. Eric Howard, Erica Hedderick y
Molly Arthur de Simio LLC brindaron un gran apoyo para ayudar a correr la voz y trabajar con los primeros
usuarios. De la Universidad de Auburn, Chris Bevelle y Josh Kendrick trabajaron en los nuevos estudios de
caso introductorios, James Christakos y Yingde Li trabajaron en el material para la primera edición, Ashkan
Negahban brindó mucho apoyo durante sus años como estudiante de doctorado y Grant Romine y Samira
Shirzaei brindaron asistencia con la quinta edición.
Si bien apreciamos la participación de todos los primeros usuarios, nos gustaría agradecer especialmente a
Jim Grayson, Gary Kochenberger, Deb Medeiros, Barry Nelson, Leonard Perry y Laurel Travis (y sus
estudiantes en Virginia Tech) por brindar sus comentarios. para ayudarnos a mejorar.
Jeffrey S. Smith
Universidad de
Auburn jsmith@auburn.edu
David T. Sturrock
Simio LLC y la Universidad de Pittsburgh
dsturrock@simio.com
W. David Kelton
Universidad de Cincinnati
david.kelton@uc.edu
vi
viii
Machine Translated by Google
viii
Contenido
Contenido ix
1 Introducción a la simulación 1
1.1 Sobre el Libro . . . . . ... . . . . . . . . . . . . . . . . . . . . ... . ... . 1
1.2 Sistemas y Modelos . . ... . . . . . . . . . . . . . . . . . . . . ... . ... . 3
1.3 Aleatoriedad y el proceso de simulación . . . . . . . . . . . . . . . . . . ... . 5
1.3.1 Aleatoriedad en simulación y variables aleatorias . . . . . . . . . . . . 6
1.3.2 El proceso de simulación . 1.3.3 . . . . . . . . . . . . . . . . . . . . . . ... . 7
Diseño conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . ... . 8
1.3.4 Análisis de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . 8
1.3.5 1.3.6Desarrollo, verificación y validación de modelos . . . . . . . . . ... . 8
Análisis y experimentación de resultados . . . . . . . . . . . ... . ... . 9
1.4 Cuándo simular (y cuándo no) . . . . . . . . . . . . . . . . . . . ... . 9
1.5 Habilidades de Éxito en Simulación . . . . . . . . . . . . . . . . . . . ... . ... . . . . . 10
1.5.1 Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . ... . . . . . 10
1.5.2 Especificación funcional . . . . . . . . . . . . . . . . . . . ... . . . . . 12
1.5.3 Iteraciones del proyecto . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . 14
1.5.4 Gestión de Proyectos y Agilidad . . . . . . . . . . . . . . . . . . . . . . 15
1.5.5 Declaraciones de Derechos de las Partes Interesadas y Simulacionistas . . . . . . . ... . . . . . dieciséis
ix
Machine Translated by Google
X CONTENIDO
CONTENIDO xi
5.4 Modelo 5-3: Modelo de PCB con selección de proceso . . . . . . . . . . . . . . ... . 152
5.5 Modelo 5-4: Comparación de múltiples escenarios alternativos . . . . . . ... . ... . 157
5.6 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . ... . 162
5.7 Problemas . . . . ... . ... . . . . . . . . . . . . . . . . . . . . ... . ... . 162
xi CONTENIDO
de estado con
Animación
la cintade defondo
animación
con la. cinta
8.1.4 de
Edición
dibujode. 8.1.3
símbolosAnimación
con la . . . . . . . . . . . 243
ensamblajecinta
de PCB
de símbolos
. 8.1.6 8.2 . 8.1.5
Movimiento
Modelo de8-1:
entidades
Animación . . .del
8.2.1 . . . . . . . . . ... . 244
Uso de conectores,
Movimiento rutasde deentidades
tiempo ya rutas
través. 8.2.3
del espacio
Uso delibre . 8.2.2 . . . . . . . . . . . ... . 246
transportadores . . . . . . . . . . . . . . . . . . . 248
. . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . 251
. . . . . . . . . . . . . . ... . 253
. . . . . . . . . . . . . . . . 254
. ... . . . . . . . . . . . . . . . . . . . . ... . 256
8.2.4 Modelo 8-2: Montaje de PCB con transportadores . 8.2.5 . . . . . . . . . . . . . . . 257
Uso de trabajadores . 8.2.6 Uso .de . . vehículos
. . . . .. . . . . . . . . . . . . . . . . . . . ... . 259
... . . . . . . . . . . . . . . . . . . . . . . . . ... . 262
8.2.7 Modelo 8-3: ED mejorado con personal hospitalario . . . . . . . . . . . . . . . 262
8.3 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . ... . 269
8.4 Problemas . . . . ... . ... . . . . . . . . . . . . . . . . . . . . ... . ... . 269
CONTENIDO XIII
ANEXOS 376
xiv CONTENIDO
Bibliografía 408
Índice 412
Machine Translated by Google
Capítulo 1
Introducción a la simulación
La simulación ha estado en uso durante más de 40 años, pero recién está entrando en su mejor momento. Gartner
(www.gartner.com) es un proveedor líder de investigación técnica y asesoramiento para empresas. En 2010, Gartner
[13] identificó a Advanced Analytics, incluida la simulación, como el número dos de las diez principales tecnologías
estratégicas. En 2012 [56] y 2013 [14], Gartner volvió a enfatizar el valor del análisis y la simulación:
“Debido a que el análisis es el 'motor de combustión de los negocios', las organizaciones invierten en
inteligencia comercial incluso cuando los tiempos son difíciles. Gartner predice que la próxima gran fase
de la inteligencia de negocios será un movimiento hacia una mayor simulación y extrapolación para
brindar decisiones más informadas”.
“Con la mejora del rendimiento y los costos, los líderes de TI pueden permitirse realizar análisis y
simulaciones para cada acción realizada en el negocio. El cliente móvil vinculado a motores analíticos
basados en la nube y repositorios de big data potencialmente permite el uso de optimización y simulación
en todas partes y en todo momento. Este nuevo paso proporciona simulación, predicción, optimización y
otros análisis, para potenciar aún más la flexibilidad de decisión en el momento y lugar de cada acción
del proceso comercial”.
Los avances en hardware y software relacionados con la simulación durante la última década han sido
espectaculares. Las computadoras ahora brindan un poder de procesamiento inaudito incluso hace unos años. Las
interfaces de usuario y el diseño de productos mejorados han hecho que el software sea significativamente más fácil
de usar, lo que reduce la experiencia requerida para usar la simulación de manera efectiva. Los avances en la tecnología
orientada a objetos continúan mejorando la flexibilidad del modelado y permiten un modelado preciso de sistemas altamente comp
El hardware, el software y los símbolos disponibles públicamente hacen posible que incluso los novatos produzcan
simulaciones con animaciones 3D atractivas para apoyar la comunicación entre personas de todos los orígenes. Estas
innovaciones y otras están trabajando juntas para impulsar la simulación a una nueva posición como tecnología crítica.
Este libro le abre el mundo de la simulación al brindarle los conceptos básicos de la tecnología general de
simulación, identificar las habilidades necesarias para proyectos de simulación exitosos e introducir un paquete de
simulación de última generación.
1
Machine Translated by Google
aplicación, y cómo llevar a cabo un proyecto de simulación. El Capítulo 2, Conceptos básicos de la teoría de colas,
presenta los conceptos de la teoría de colas, sus puntos fuertes y sus limitaciones y, en particular, cómo se puede
utilizar para ayudar a validar componentes de modelos de simulación posteriores. El Capítulo 3, Tipos de simulación,
presenta algunos de los aspectos técnicos y la terminología de la simulación, clasifica los diferentes tipos de simulaciones
en varias dimensiones y luego ilustra esto trabajando con varios ejemplos específicos.
A continuación, presentamos conceptos de simulación más detallados ilustrados con numerosos ejemplos
implementados en Simio. En lugar de dividir los componentes técnicos (como la validación y el análisis de salida) en
capítulos separados, consideramos cada ejemplo como un mini proyecto e introducimos sucesivamente más conceptos
con cada proyecto. Este enfoque brinda la oportunidad de aprender las mejores prácticas y habilidades generales en
una etapa temprana y luego reforzar esas habilidades con cada proyecto sucesivo.
El Capítulo 4, Primeros modelos de Simio, comienza con una breve descripción general de Simio y luego se lanza
directamente a la creación de un modelo de cola de servidor único en Simio. El objetivo principal de este capítulo es
presentar el proceso de creación de modelos de simulación utilizando Simio. Si bien los procesos básicos de creación y
análisis de modelos no son específicos de Simio, nos centraremos en Simio como vehículo de implementación. Este
proceso no solo introduce habilidades de modelado, sino que también cubre el análisis estadístico de los resultados de
salida de la simulación, la experimentación y la verificación del modelo. Luego, ese mismo modelo se reproduce
utilizando herramientas de nivel inferior para ilustrar otro posible enfoque de modelado, así como para brindar una mayor
comprensión de lo que sucede "detrás de la cortina". El capítulo continúa con un tercer modelo más interesante de un
cajero automático, presenta un análisis de salida adicional utilizando los gráficos SMORE innovadores de Simio y
analiza el análisis de salida fuera de Simio. El capítulo cierra con una discusión sobre cómo descubrir y rastrear esos
desagradables "errores" que a menudo infestan los modelos.
El objetivo del Capítulo 5, Modelado intermedio con Simio, es construir sobre los conceptos básicos de modelado y
análisis de Simio presentados anteriormente para que podamos comenzar a desarrollar y experimentar con modelos de
sistemas más realistas. Comenzaremos discutiendo un poco más sobre cómo funciona Simio y su marco general.
Luego, construiremos un modelo de ensamblaje electrónico y, sucesivamente, agregaremos funciones adicionales,
incluido el modelado de múltiples procesos, ramificación y fusión condicionales, etc. A medida que desarrollemos estos
modelos, continuaremos introduciendo y utilizando nuevas funciones de Simio. También retomaremos nuestra
investigación sobre cómo configurar y analizar experimentos de simulación estadística sólidos, esta vez teniendo en
cuenta el objetivo común de comparar múltiples escenarios alternativos. Al final de este capítulo, debe tener una buena
comprensión de cómo modelar y analizar sistemas de complejidad intermedia con Simio.
En este punto, habremos cubierto algunas aplicaciones de simulación interesantes, por lo que luego analizaremos
los problemas relacionados con las distribuciones de entrada y los procesos que impulsan los modelos. El capítulo 6,
Análisis de entrada, analiza diferentes tipos de entradas para simulaciones, métodos para convertir datos observados
del mundo real en algo útil para un proyecto de simulación y generar las cantidades aleatorias de entrada apropiadas
que se necesitan en la mayoría de las simulaciones.
El Capítulo 7, Trabajar con datos de modelos, tiene una visión más amplia y examina los muchos tipos de datos
que a menudo se requieren para representar un sistema real. Comenzaremos construyendo un modelo simple de
departamento de emergencias (ED) y mostraremos cómo cumplir con sus requisitos de datos de entrada utilizando la
construcción de tabla de datos de Simio. Agregaremos sucesivamente más detalles al modelo para ilustrar los conceptos
de tablas de secuencia, tablas de datos relacionales, tablas de llegada y tablas de datos de importación y exportación.
Continuaremos mejorando el modelo ED para ilustrar horarios de trabajo, tablas de tarifas y tablas de funciones. El
capítulo finaliza con una breve introducción a las listas, arreglos y matrices de cambio. Después de completar este
capítulo, debería tener un buen dominio de los tipos de datos que se encuentran con frecuencia en los modelos y las
opciones de Simio para representar esos datos.
Animación y movimiento de entidades, Capítulo 8, analiza la validación mejorada, la comunicación
Machine Translated by Google
y la credibilidad que la animación 2D y 3D puede aportar a un proyecto de simulación. Luego exploramos las diversas
herramientas de animación disponibles, incluida la animación de fondo, los símbolos personalizados y los objetos de
estado. Revisaremos nuestro modelo anterior de ensamblaje electrónico para practicar algunas nuevas habilidades de
animación, así como para explorar los diferentes tipos de enlaces disponibles y agregar transportadores para manejar el
flujo de trabajo. Finalmente, presentaremos los objetos Simio Vehicle y Worker para el movimiento asistido de entidades y
revisaremos nuestro modelo ED anterior para considerar la dotación de personal y mejorar la animación.
El capítulo 9 es Modelado avanzado con Simio. Comenzamos con una versión más simple de nuestro modelo ED,
con el objetivo de demostrar el uso de modelos para la toma de decisiones y, en particular, la optimización basada en
simulación. Luego, presentaremos un nuevo ejemplo de pizzería para ilustrar algunas construcciones de modelado nuevas,
así como para reunir conceptos que se introdujeron anteriormente.
Un tercer y último modelo, una línea de montaje, permite el estudio de la asignación de espacio intermedio para maximizar
el rendimiento.
El capítulo 10 es nuevo en la cuarta edición y cubre temas varios de modelado. Esto introduce algunos conceptos de
modelado poderosos como el paso de búsqueda, el bloqueo y la renuncia, las secuencias de tareas y la lógica de decisión
basada en eventos. También presenta la biblioteca de flujo para el procesamiento de flujo, la biblioteca de extras para
grúas, elevadores y otros dispositivos, y el foro de elementos compartidos, una fuente de otras herramientas valiosas. Este
capítulo finaliza discutiendo la Experimentación y algunas de las opciones disponibles para ejecutar efectivamente muchas
réplicas y escenarios.
El Capítulo 11, Personalización y ampliación de Simio, comienza con material un poco más avanzado: se basa en la
experiencia previa con el uso de procesos complementarios para brindar orientación en la creación de sus propios objetos
y bibliotecas personalizados. Incluye ejemplos de creación de objetos jerárquicamente a partir de objetos básicos y
subclasificación de objetos de biblioteca estándar. Este capítulo finaliza con una introducción a la extensibilidad de Simio
a través de la programación de sus propias reglas, componentes y complementos para Simio.
El Capítulo A, Casos de estudio con Simio, incluye cuatro casos de estudio introductorios y dos avanzados relacionados
con el desarrollo y uso de modelos de Simio para analizar sistemas. Estos problemas tienen un alcance mayor y no están
tan bien definidos como los problemas de tarea de los capítulos anteriores y brindan la oportunidad de usar sus habilidades
en problemas más realistas. En el Capítulo 12, Programación basada en simulación, exploramos el uso de la simulación
como herramienta de planificación y programación.
Si bien la planificación y la programación basadas en simulación se han discutido y utilizado durante muchos años, los
avances recientes en las herramientas de software de simulación han hecho que estas aplicaciones sean significativamente
más fáciles de implementar y usar. Concluimos este capítulo con una descripción de la tecnología de planificación y
programación basada en riesgos (RPS) de Simio.
Finalmente, el Apéndice B, Problemas de competencia de estudiantes de Simio, proporciona resúmenes de problemas
recientes presentados en lo que se ha convertido rápidamente en la competencia de simulación de estudiantes más
grande. Este es un lugar ideal para explorar un proyecto desafiante u obtener ideas para crear su propio proyecto.
red de distribución mundial), puede que no sea posible encontrar un punto de vista desde el que pueda observar todo
el sistema con un nivel de detalle adecuado.
Surgen problemas adicionales cuando desea estudiar cambios en el sistema. En algunos casos, puede ser fácil
realizar un cambio en el sistema real; por ejemplo, agregar una segunda persona temporal a un turno de trabajo para
observar el impacto. Pero en muchos casos, esto simplemente no es práctico: considere la inversión requerida para
evaluar si debe usar una máquina estándar que cuesta $300,000 o una máquina de alto rendimiento que cuesta
$400,000. Finalmente, si el sistema real aún no existe, ninguna observación es posible en absoluto.
Por estas razones, entre otras, usamos modelos para ganar comprensión. Hay muchos tipos de modelos, cada
uno con sus propias ventajas y limitaciones. Los modelos físicos, como el modelo de un automóvil o un avión, pueden
proporcionar tanto un sentido de la realidad como una interacción con el entorno físico, como en las pruebas de túnel
de viento. Los modelos analíticos usan representaciones matemáticas que pueden ser bastante útiles en dominios de
problemas específicos, pero los dominios aplicables a menudo son limitados.
La simulación es un enfoque de modelado con una aplicabilidad mucho más amplia.
La simulación por computadora imita la operación de un sistema y sus procesos internos, generalmente a lo largo
del tiempo, y con el detalle apropiado para sacar conclusiones sobre el comportamiento del sistema. Los modelos de
simulación se crean utilizando software diseñado para representar componentes comunes del sistema y registrar
cómo se comportan con el tiempo. La simulación se utiliza para predecir tanto el efecto de los cambios en los sistemas
existentes como el rendimiento de los nuevos sistemas. Las simulaciones se utilizan con frecuencia en el diseño,
emulación y operación de sistemas.
Las simulaciones pueden ser estocásticas o deterministas. En una simulación estocástica (la más común), se
introduce la aleatoriedad para representar la variación encontrada en la mayoría de los sistemas. Las actividades que
involucran a personas siempre varían (por ejemplo, en el tiempo necesario para completar una tarea o la calidad del
desempeño); las entradas externas (como clientes y materiales) varían; y se producen excepciones (fallos).
Los modelos deterministas no tienen variación. Estos son raros en las aplicaciones de diseño, pero más comunes en
el soporte de decisiones basado en modelos, como las aplicaciones de programación y emulación. La Sección 3.1.3
trata esto con más detalle.
Hay dos tipos principales de simulación, discreta y continua. Los términos discreto y continuo se refieren a la
naturaleza cambiante de los estados dentro del sistema. Algunos estados (p. ej., la longitud de una cola, el estado de
un trabajador) pueden cambiar solo en puntos discretos en el tiempo (llamados tiempos de eventos). Otros estados
(por ejemplo, la presión en un tanque o la temperatura en un horno) pueden cambiar continuamente con el tiempo.
Algunos sistemas son puramente discretos o continuos, mientras que otros tienen ambos tipos de estados presentes.
La Sección 3.1.2 analiza esto más a fondo y da un ejemplo de una simulación continua.
Los sistemas continuos se definen mediante ecuaciones diferenciales que especifican la tasa de cambio. El
software de simulación utiliza la integración numérica para generar una solución para las ecuaciones diferenciales a
lo largo del tiempo. La dinámica del sistema es un enfoque gráfico para crear modelos simples utilizando el mismo
concepto subyacente y, a menudo, se usa para modelar la dinámica de la población, el crecimiento/deterioro del
mercado y otras relaciones basadas en ecuaciones.
Cuatro paradigmas de modelado discreto han evolucionado en la simulación. Los eventos modelan los puntos en
el tiempo cuando cambia el estado del sistema (llega o sale un cliente). Los procesos modelan una secuencia de
acciones que tienen lugar a lo largo del tiempo (una parte de un sistema de fabricación agarra a un trabajador, retrasa
un tiempo de servicio y luego libera al trabajador). Los objetos permiten un modelado más intuitivo al representar
objetos completos que se encuentran en la instalación. El modelado basado en agentes (ABM) es un caso especial
del paradigma de objetos en el que el comportamiento del sistema surge de la interacción de una gran cantidad de
objetos inteligentes autónomos (como soldados, empresas en un mercado o individuos infectados en una epidemia).
La distinción entre estos paradigmas es algo borrosa porque los paquetes modernos incorporan múltiples paradigmas.
Simio es una herramienta de modelado de múltiples paradigmas que incorpora todos estos paradigmas en un solo
marco. Puede usar un solo paradigma o combinar múltiples paradigmas en el mismo modelo. Simio combina la
facilidad
Machine Translated by Google
Aeropuertos: lanzaderas de estacionamiento, emisión de boletos, seguridad, transporte de terminales, tráfico de patio de comidas,
manejo de equipaje, asignaciones de puertas, deshielo de aviones.
Puertos: Tráfico de camiones y trenes, tráfico de buques, gestión portuaria, almacenamiento de contenedores, capital en
vestimentas, operaciones de grúas.
Minería: Transferencia de materiales, transporte de mano de obra, asignación de equipos, mezcla de materiales a granel.
Parques de atracciones: transporte de invitados, diseño/puesta en marcha de atracciones, gestión de filas de espera, atracciones
dotación de personal, manejo de multitudes.
Centros de llamadas: Dotación de personal, evaluación del nivel de habilidad, mejora del servicio, planes de capacitación, programación
algoritmos
Cadenas de suministro: reducción de riesgos, puntos de pedido, asignación de producción, posicionamiento de inventario,
transporte, gestión del crecimiento, planificación de contingencias.
Manufactura: análisis de inversión de capital, optimización de línea, cambios en la combinación de productos, producción
mejora de la productividad, transporte, reducción de mano de obra.
Sistema de justicia penal: operaciones de libertad condicional y libertad condicional, utilización y capacidad de la prisión.
Sistema de respuesta a emergencias: tiempo de respuesta, ubicación de la estación, niveles de equipo, dotación de personal.
Servicio al cliente: mejora del servicio directo, operaciones de back-office, asignación de recursos, planificación de capacidad.
Lejos de ser una herramienta solo para la fabricación, los dominios y las aplicaciones de la simulación son muy variados y prácticamente
ilimitados.
En esta sección discutimos los pasos típicos involucrados en el proceso de simulación. También describimos los roles importantes que
juegan la incertidumbre y la aleatoriedad tanto en las entradas como en las salidas de los modelos de simulación.
Machine Translated by Google
Tabla 1.1: Funciones de masa de probabilidad (PMF) y densidad (PDF) para variables aleatorias.
Variables aleatorias discretas Variables aleatorias continuas
Aunque algunos ejemplos de modelado de simulación usan solo valores deterministas, la gran mayoría de
los modelos de simulación incorporan alguna forma de aleatoriedad porque es inherente a los sistemas que
se modelan. Los componentes aleatorios típicos incluyen tiempos de procesamiento, tiempos de servicio,
tiempos de llegada de clientes o entidades, tiempos de transporte, fallas y reparaciones de máquinas/
recursos, y sucesos similares. Por ejemplo, si se dirige a la ventanilla de autoservicio en un restaurante local
de comida rápida para tomar un refrigerio nocturno, no puede saber exactamente cuánto tiempo le llevará
llegar allí, cuántos otros clientes pueden estar frente a usted. cuándo llegas, o cuánto tardará en ser atendido,
por citar solo algunas variables. Es posible que podamos estimar estos valores en función de la experiencia
previa u otros conocimientos, pero no podemos predecirlos con certeza. El uso de estimaciones deterministas
de estos valores estocásticos en los modelos puede generar predicciones de rendimiento no válidas
(generalmente demasiado optimistas). Sin embargo, incorporar estos componentes aleatorios en modelos
analíticos estándar puede ser difícil o imposible. El uso de la simulación, por otro lado, hace que la inclusión
de componentes aleatorios sea bastante fácil y, de hecho, es precisamente su capacidad para incorporar
fácilmente el comportamiento estocástico lo que hace que la simulación sea una herramienta de análisis y
modelado tan popular. Este será un tema fundamental a lo largo de este libro.
Debido a que la aleatoriedad en los modelos de simulación se expresa mediante variables aleatorias, la
comprensión y el uso de variables aleatorias es fundamental para el análisis y el modelado de simulación
(consulte [57], [47] para repasar). En su forma más básica, una variable aleatoria es una función cuyo valor
está determinado por el resultado de un experimento; es decir, no conocemos el valor hasta después de
realizar el experimento. En el contexto de la simulación, un experimento implica ejecutar el modelo de
simulación con un conjunto dado de entradas. El comportamiento probabilístico de una variable aleatoria, X,
se describe por su función de distribución (o función de distribución acumulativa, CDF), F(x) = P r(X ÿ x),
donde el lado derecho representa la probabilidad de que la variable aleatoria X toma un valor menor o igual
que el valor x. Para variables aleatorias discretas, se debe considerar la función de masa de probabilidad,
p(xi), y para variables aleatorias continuas, se evalúa la función de densidad de probabilidad, f(x) (ver Tabla
1.1). Una vez que hemos caracterizado una variable aleatoria X, medimos métricas como el valor esperado
(E[X]), la varianza (Var[X]) y varias otras características de la distribución, como cuantiles, simetría/sesgo,
etc. En muchos casos, debemos confiar en las estadísticas muestrales, como la media muestral, X, y la
2
varianza muestral, S (X), porque no podemos caracterizar de manera factible los parámetros poblacionales
correspondientes. Es importante determinar los tamaños de muestra apropiados para estas estimaciones. A
diferencia de muchos otros métodos experimentales, en el análisis de simulación, a menudo podemos
controlar los tamaños de muestra para satisfacer nuestras necesidades.
La simulación requiere entradas y salidas para evaluar un sistema. Desde el lado de entrada de la
simulación, caracterizamos variables aleatorias y generamos muestras a partir de las distribuciones
correspondientes; desde el lado de la salida analizamos las características de las distribuciones (es decir, media, varianza,
Machine Translated by Google
percentiles, etc.) en base a las observaciones generadas por la simulación. Considere un modelo de una pequeña
clínica de atención médica sin cita previa. Las entradas del sistema incluyen los tiempos de llegada del paciente y los
tiempos de diagnóstico y tratamiento del cuidador, todos los cuales son variables aleatorias (consulte la Figura 1.1 para
ver un ejemplo). Para simular el sistema, necesitamos comprender y generar observaciones de estas variables aleatorias
como entradas al modelo. A menudo, pero no siempre, tenemos datos del sistema "real" que usamos para caracterizar
las variables aleatorias de entrada. Los resultados típicos pueden incluir el tiempo de espera del paciente, el tiempo en
el sistema y las utilizaciones del cuidador y del espacio.
El modelo de simulación generará observaciones de estas variables aleatorias. Al controlar la ejecución del modelo de
simulación, podemos usar las observaciones generadas para caracterizar los resultados de interés. En la siguiente
sección, discutiremos el análisis de entrada y salida en el contexto del proceso de simulación general.
El proceso básico de simulación se muestra en la Figura 1.2. Tenga en cuenta que el proceso no es estrictamente
secuencial y, a menudo, resultará iterativo. Discutiremos brevemente cada uno de estos componentes en las siguientes
secciones y desarrollaremos los temas en detalle a lo largo del libro.
Machine Translated by Google
software moderno que se ejecuta en computadoras multiprocesador rápidas fácilmente disponibles e incluso
computación en la nube, podemos hacer suficiente simulación para obtener resultados con imprecisión que es
medible, aceptablemente baja y perceptiblemente válida.
En años pasados, la simulación a veces se descartaba como “el método de último recurso”, o un enfoque que
se debía adoptar solo “cuando todo lo demás falla” ([70], pp. 887, 890). Como se señaló anteriormente, la
simulación no debe utilizarse si se dispone de un modelo válido tratable analíticamente. Pero en muchos (quizás la
mayoría) de los casos, el sistema real es demasiado complicado, o no obedece las reglas, para permitir que se
construya y analice un modelo analíticamente manejable de cualquier validez creíble. En nuestra opinión, es mejor
simular el modelo correcto y obtener una respuesta aproximada cuya imprecisión pueda medirse y reducirse
objetivamente, que hacer un análisis analítico exacto del modelo incorrecto y obtener una respuesta cuyo error ni
siquiera puede cuantificarse, una situación eso es peor que la imprecisión.
Si bien estamos hablando de respuestas precisas, los ejemplos y las figuras de esta edición de texto se crearon
con la versión 91 de Simio . Debido a que cada versión de Simio puede contener cambios que podrían afectar el
comportamiento de bajo nivel (como el orden de procesamiento de eventos simultáneos), diferentes versiones
podrían producir diferentes resultados numéricos para una ejecución interactiva. Puede preguntarse "¿Qué
resultados son correctos?" ¡Cada uno es tan correcto (o tan incorrecto) como los demás! En este libro, aprenderá
cómo crear resultados estadísticamente válidos y cómo reconocer cuándo los tiene (o no los tiene). Con la posible
excepción de una rara corrección de errores entre versiones, cada versión debe generar resultados estadísticamente
equivalentes (y válidos) para el mismo modelo, aunque pueden diferir numéricamente entre ejecuciones interactivas
individuales.
Aprender a usar una herramienta de simulación y comprender la tecnología subyacente no garantizará su éxito.
Llevar a cabo proyectos de simulación exitosos requiere mucho más que eso.
Los recién llegados a la simulación a menudo preguntan cómo pueden tener éxito en la simulación. La respuesta
es fácil: “Trabaja duro y haz todo bien”. Pero tal vez quieras un poco más de detalle. Identifiquemos algunos de los
temas más importantes que deben ser considerados.
Antes de que pueda ayudar con los objetivos, debe conocer a las partes interesadas. Una parte interesada es
alguien que encarga, financia, utiliza o se ve afectado por el proyecto. Algunas partes interesadas son obvias: es
probable que su jefe sea una parte interesada (si es un estudiante, su instructor es sin duda una parte interesada).
Pero a veces hay que trabajar un poco para identificar a todas las partes interesadas clave. ¿Por qué debería
importarte? En parte porque las partes interesadas a menudo tienen objetivos diferentes (ya veces contradictorios).
Supongamos que se le pide que modele una instalación de fabricación específica en una gran corporación y
evalúe si una nueva grúa de $ 4 millones brindará los resultados deseados (aumentos en el rendimiento del
producto, reducciones en el tiempo de espera, reducciones en el mantenimiento, etc.). Aquí hay algunas posibles
partes interesadas y cuáles podrían ser sus objetivos en una situación típica:
1 Si está utilizando una versión más reciente de Simio, busque en el área para estudiantes del sitio web de libros de texto, donde encontrará información adicional.
• Gerente de ingeniería industrial (IE) (su jefe): Quiere demostrar que IE agrega valor a la corporación, por lo que quiere
que usted demuestre ahorros de costos drásticos o mejora de la productividad. También quiere una buena animación
en 3D que pueda usar para comercializar sus servicios en otras partes de la corporación.
• Gerente de producción: está convencido de que comprar una grúa nueva es la única forma en que puede cumplir con
sus objetivos de producción y ha instruido a su personal clave para que le brinde la información que lo ayude a
demostrarlo.
• VP-Producción: Ha estado en el negocio por mucho tiempo y no está convencido de que esto de la “simulación”
ofrezca algún beneficio real. Está apoyando marginalmente este esfuerzo debido a la presión política, pero espera
(y secretamente espera) que el proyecto fracase.
• Vicepresidenta de Finanzas: Le preocupa mucho gastar el dinero en la grúa, pero también le preocupa la productividad
inadecuada. De hecho, ella es quien, en la última reunión ejecutiva, insistió en encargar un estudio de simulación
para obtener un análisis objetivo.
• Supervisora de Línea: Trabaja allí desde hace 15 años y es responsable del movimiento de material.
Sabe que existen formas menos costosas e igualmente efectivas de aumentar la productividad y estaría encantada
de compartir esa información si alguien se molesta en preguntarle.
• Obrero de materiales: Actualmente dedica gran parte de su tiempo a mover materiales y tiene miedo de que lo
despidan si compra una grúa nueva. Así que hará todo lo posible para convencerte de que una grúa nueva es una
mala idea.
• Gerente de ingeniería: su personal ya está abrumado, por lo que no quiere involucrarse a menos que sea
absolutamente necesario. Pero si se va a comprar una grúa nueva, tiene algunas ideas muy específicas de cómo se
debe configurar y usar.
Este escenario es en realidad una combinación de algunos casos reales. Los proyectos más pequeños y las empresas más
pequeñas pueden tener menos partes interesadas, pero los principios subyacentes siguen siendo los mismos. Los objetivos
y motivaciones en conflicto no son nada inusuales. Cada una de las partes interesadas tiene aportes valiosos para el
proyecto, pero es importante tener en cuenta sus sesgos y motivaciones al evaluar sus aportes.
Entonces, ahora que hemos llegado a conocer un poco a las partes interesadas, debemos determinar cómo cada uno
ve o contribuye a los objetivos del proyecto e intentar priorizarlos de manera adecuada.
Para identificar los objetivos clave, debe hacer preguntas como estas:
• ¿Cuál es el alcance del modelo? ¿Cuánto detalle se prevé para cada componente de la
¿sistema?
• ¿Qué componentes son críticos? ¿Qué componentes menos importantes podrían aproximarse?
• Qué información de entrada puede estar disponible, qué tan buena es, quién la proporcionará y
¿Cuándo?
• ¿Cómo se usará cualquier animación (la animación para la validación es bastante diferente de la animación
presentado a una junta directiva)?
• ¿De qué forma desea obtener los resultados (presentación verbal, números detallados, resúmenes, gráficos, informes
de texto)?
Machine Translated by Google
Una buena manera de ayudar a identificar objetivos claros es diseñar una maqueta del informe final.
Puede decir: "Si genero un informe con la siguiente información en un formato como este, ¿eso satisfará sus
necesidades?" Una vez que pueda obtener un acuerdo general sobre la forma y el contenido del informe final, a
menudo puede trabajar hacia atrás para determinar el nivel de detalle apropiado y abordar otras inquietudes de
modelado. Este proceso también puede ayudar a sacar a la luz objetivos de modelado no reconocidos.
A veces la claridad necesaria del proyecto no está ahí. Si es así, y sigue adelante de todos modos para
planificar todo el proyecto, incluidos los entregables, los recursos y la fecha, se está preparando para el fracaso.
La falta de claridad del proyecto es un llamado claro para hacer el proyecto en fases. Comenzar con un pequeño
prototipo a menudo ayudará a aclarar los grandes problemas. Con base en esas experiencias de prototipo, es
posible que pueda hacer un plan detallado para las fases posteriores. Hablaremos más sobre eso a continuación.
Si ha seguido los consejos de la Sección 1.5.1, ahora tiene al menos algunos objetivos básicos del proyecto.
Estás listo para comenzar a construir el modelo, ¿verdad? ¡Incorrecto! En la mayoría de los casos, sus partes
interesadas buscarán algunos compromisos.
• ¿Qué tan completo será el modelo (o qué aspectos específicos del sistema se incluirán)?
¿Estás listo para dar respuestas confiables a esas preguntas? Probablemente no.
Por supuesto, la peor situación posible, pero bastante común, es que la parte interesada proporcione
respuestas a todas esas preguntas y deje que usted las entregue. Imagínese una declaración como “Le pagaré
$5000 para proporcionar un análisis exhaustivo y validado de . . . para ser entregado dentro de cinco días a partir de ahora.
Si se acepta, tal declaración a menudo resulta en mucho tiempo extra y produce un modelo incompleto y no
validado con una o dos semanas de retraso. Y en cuanto al dinero prometido. . . bueno, el cliente no recibió lo
que pidió, ahora, ¿verdad?
Está bien que el cliente especifique las respuestas a dos de esas preguntas y, en casos excepcionales,
incluso a tres. Pero debe reservarse el derecho de ajustar al menos uno o dos de esos parámetros.
Puede reducir el alcance para cumplir con una fecha límite. O puede extender la fecha límite para lograr el
alcance. O bien, puede duplicar los recursos y el costo para lograr el alcance y cumplir con la fecha (ajustar la
calidad rara vez es una buena idea).
Si tiene suerte, la parte interesada le permitirá responder las cuatro preguntas (por supuesto, reservándose
el derecho de rechazar su propuesta). Pero, ¿cómo se te ocurren buenas respuestas?
Mediante la creación de una especificación funcional, que es un documento que describe exactamente qué se
entregará, cuándo, cómo y por quién. Si bien los detalles requeridos en una especificación funcional varían según
la aplicación y el tamaño del proyecto, los componentes típicos pueden incluir lo siguiente:
1. Introducción
b) Identificación de las partes interesadas: ¿Quiénes son las principales personas preocupadas por los
resultados de este modelo? ¿Qué otras personas también están preocupadas? ¿Cómo será utilizado
el modelo y por quién? ¿Cómo lo aprenderán?
2. Descripción del sistema y enfoque de modelado: descripción general de los componentes del sistema y
enfoques para modelarlos, incluidos, entre otros, los siguientes componentes:
a) Equipo: Cada equipo debe ser descrito en detalle, incluyendo su comportamiento, configuraciones,
horarios, confiabilidad y otros aspectos que puedan afectar el modelo.
Incluya tablas de datos y diagramas según sea necesario. Cuando aún no existan datos, deben
identificarse como tales.
b) Tipos de productos: ¿Qué productos están involucrados? ¿Cómo se diferencian? ¿Cómo se relacionan
entre sí? ¿Qué nivel de detalle se requiere para cada producto o grupo de productos?
3. Datos de entrada: ¿Qué datos se deben considerar para la entrada del modelo? ¿Quién proporcionará esto?
¿información? ¿Cuándo? ¿En qué formato?
4. Datos de salida: ¿Qué datos debe producir el modelo? En esta sección, una maqueta del informe final
ayudará a aclarar las expectativas de todas las partes.
5. Entregables del proyecto: discuta todos los entregables del proyecto acordados. Cuando se completa esta
lista, el proyecto se considera completo.
b) Software y capacitación: si se pretende que el usuario interactúe directamente con el modelo, discuta
el software que se requiere; qué software, si lo hay, se incluirá en la cotización del precio del proyecto;
y qué interfaz personalizada, si corresponde, se proporcionará. También analice qué proyecto o
capacitación sobre productos se recomienda o se brindará.
c) Animación: ¿Cuáles son los entregables de la animación y con qué fines se utilizarán las animaciones
(validación del modelo, aceptación de las partes interesadas, marketing)? 2D o 3D?
¿Están disponibles los diseños y símbolos existentes y en qué forma? ¿Qué se proporcionará, por
quién y cuándo?
6. Fases del proyecto: describa cada fase del proyecto (si hay más de una) y el esfuerzo estimado, la fecha de
entrega y el cargo para cada fase.
Al comienzo de un proyecto, existe una inclinación natural a empezar a modelar. Hay presión de tiempo. Las
ideas fluyen. Hay emoción. Es muy difícil parar y hacer una especificación funcional. Pero confíe en nosotros: vale
la pena hacer una especificación funcional. Vuelva a mirar esas citas al comienzo de esta sección. Hacer una
pausa para determinar adónde va y cómo va a llegar allí puede ahorrar esfuerzos mal dirigidos y pérdida de tiempo.
Machine Translated by Google
Recomendamos que aproximadamente el primer 10 % del tiempo total estimado del proyecto se dedique a
crear un prototipo y una especificación funcional. No considere esto como tiempo extra.
Más bien, como en el diseño de informes, solo está cambiando algunas tareas específicas al principio del
proyecto, cuando pueden tener el mayor beneficio de planificación. Sí, eso significa que si espera que el
proyecto tarde 20 días, debe dedicar unos dos días a esto. Como resultado, es posible que descubra que el
proyecto requerirá 40 días para finalizar; sin duda, malas noticias, pero es mucho mejor averiguarlo por
adelantado mientras aún tiene tiempo para considerar alternativas (volver a priorizar los objetivos, reducir el
alcance, agregar recursos, etc).
A medida que avanza en el proyecto, un enfoque iterativo se vuelve aún más importante. Un novato en
simulación a menudo tendrá una idea y comenzará a modelarla, luego seguirá agregando al modelo hasta que
esté completo, y solo entonces ejecutará el modelo. Pero incluso el mejor modelador, usando las mejores
herramientas, cometerá errores. Pero cuando todo lo que sabe es que su error está “en alguna parte del
modelo”, es muy difícil encontrarlo y corregirlo. Según nuestra experiencia colectiva en la enseñanza de la
simulación, este es un gran problema para los estudiantes nuevos en el tema.
Los modeladores más experimentados generalmente construirán una pequeña parte del modelo, luego la
ejecutarán, la probarán, la depurarán y verificarán que hace lo que el modelador esperaba que hiciera. Luego
repita ese proceso con otra pequeña pieza del modelo. Tan pronto como exista suficiente modelo para
compararlo con el mundo real, valide, tanto como sea posible, que toda la sección del modelo coincida con el
comportamiento previsto del sistema. Siga repitiendo este proceso iterativo hasta que el modelo esté completo.
En cada paso del proceso, encontrar y solucionar problemas es mucho más fácil porque es muy probable que
se trate de un problema en la pieza pequeña que se agregó más recientemente. Y en cada paso puede guardar
con un nombre diferente (como MyModelV1, MyModelV2, o con fechas completas e incluso horas adjuntas a
los nombres de los archivos), para permitir volver a una versión anterior si es necesario.
Otro beneficio de este enfoque iterativo, especialmente para los novatos, es que los problemas
potencialmente importantes se pueden eliminar antes. Digamos que construyó un modelo completo basado en
una suposición errónea de cómo funcionaba la agrupación de entidades, y solo al final descubrió su
malentendido. En ese momento, podría requerir una revisión extensa para cambiar la base de su modelo. Sin
embargo, si estuviera construyendo su modelo iterativamente, probablemente habría descubierto su
malentendido la primera vez que usó la construcción de agrupación, momento en el cual sería relativamente
fácil tomar una mejor estrategia.
Un beneficio final y extremadamente importante del enfoque iterativo es la capacidad de priorizar.
Para cada iteración, trabaje en la pequeña sección más importante del modelo que queda.
Lo único predecible sobre el desarrollo de software de todo tipo es que casi siempre toma mucho más tiempo
de lo esperado. La construcción de modelos de simulación a menudo comparte el mismo problema. Si se queda
sin tiempo de proyecto cuando sigue un enfoque no iterativo y su modelo aún no funciona, y mucho menos
verificado o validado, esencialmente no tiene nada útil que mostrar por sus esfuerzos. Pero si se le acaba el
tiempo al seguir un enfoque iterativo, tiene una parte del modelo que está completa, verificada, validada y lista
para usar. Y si ha estado trabajando en la tarea de mayor prioridad en cada iteración, es posible que descubra
que la parte completada es suficiente para cumplir con la mayoría de los objetivos del proyecto (busque la regla
80-20 o el principio de Pareto para ver por qué) .
Machine Translated by Google
Aunque puede variar un poco según el proyecto y la aplicación, los pasos generales en un estudio de simulación son:
2. Definir la especificación funcional, incluidos los objetivos detallados, los límites del modelo, el nivel de
detalle, enfoque de modelado y medidas de salida. Diseñar el informe final.
4. Modelar o mejorar una pieza de alta prioridad del sistema. Documentarlo y verificarlo. Iterar.
6. Verificar y validar el modelo. Involucrar a las partes interesadas. Vuelva al paso 4 según sea necesario.
7. Diseño de experimentos. Hacer corridas de producción. Involucrar a las partes interesadas. Regrese al paso 4 como
necesario.
Mientras itera, no pierda la oportunidad de comunicarse regularmente con las partes interesadas. A las partes interesadas
no les gustan las sorpresas. Si el proyecto está produciendo resultados que difieren de lo esperado, aprendan juntos por qué
sucede eso. Si el proyecto está retrasado, infórmeselo a las partes interesadas con anticipación para que se puedan evitar
problemas graves. No piense en las partes interesadas como simples clientes y, desde luego, no como adversarios. Piense en las
partes interesadas como socios: pueden ayudarse mutuamente para obtener los mejores resultados posibles de este proyecto. Y
esos resultados a menudo provienen de la exploración detallada del sistema que es necesaria para descubrir los procesos reales
que se están modelando.
De hecho, en muchos proyectos, una gran parte del valor ocurre incluso antes de que se generen los "resultados" de la simulación,
debido al conocimiento obtenido de la exploración inicial por parte de los modeladores y la colaboración frecuente con las partes
interesadas.
Un proyecto bien administrado comienza por tener objetivos claros y una especificación funcional sólida para guiar sus
decisiones. A lo largo del proyecto, tomará decisiones grandes y pequeñas, como las siguientes:
En casi todos los casos, la especificación funcional debe proporcionar directa o indirectamente las respuestas. Ya capturó y
priorizó los objetivos de sus partes interesadas clave. Esa información debe convertirse en la base de la mayoría de las
decisiones.
Una de las cosas que tendrá que priorizar son las "especificaciones en evolución" o las nuevas solicitudes de las partes
interesadas, a veces denominadas "desplazamiento del alcance". Un extremo es tomar una línea dura y decir "Si no está en la
especificación funcional, no está en el modelo". Si bien en algunos casos excepcionales esta respuesta puede ser apropiada y
necesaria, en la mayoría de los casos no lo es. La simulación es un proceso exploratorio y de aprendizaje. A medida que
explora nuevas áreas y aprende más sobre el sistema de destino, es natural que evolucionen nuevos temas, enfoques y áreas
de estudio. Negarse a lidiar con esto limita severamente el valor potencial de la simulación (y su valor como proveedor de
soluciones).
Otro extremo es adoptar el enfoque de que las partes interesadas siempre tienen razón, y si le piden que trabaje en algo
nuevo, debe ser lo correcto. Si bien esta respuesta hace feliz a la parte interesada a corto plazo, el resultado más probable a
largo plazo es un proyecto tardío o incluso sin terminar, ¡y una parte interesada muy descontenta! Si siempre está persiguiendo
la última idea, es posible que nunca tenga tiempo para terminar el trabajo de alta prioridad necesario para producir algún valor.
La clave es gestionar estas oportunidades: esa gestión comienza con una comunicación abierta con las partes interesadas
y revisando los elementos de la especificación funcional y sus prioridades relativas. Cuando se agrega algo al proyecto, algo
más debe cambiar.
Tal vez abordar el nuevo elemento sea lo suficientemente importante como para posponer un poco la fecha límite del proyecto.
Si no es así, tal vez este nuevo elemento sea más importante que alguna otra tarea que se pueda abandonar (o mover a la
"lista de deseos" que se desarrolla para cuando las cosas van mejor de lo esperado). O tal vez este nuevo elemento en sí
mismo debería moverse a la "lista de deseos".
Nuestra definición de agilidad es la capacidad de reaccionar rápida y adecuadamente al cambio. Tu
la capacidad de ser ágil contribuirá significativamente a su éxito en la simulación.
Terminaremos este capítulo reconociendo que las partes interesadas tienen expectativas razonables de lo que hará por ellos
(Figura 1.3). Considere cuidadosamente estas expectativas para mejorar la eficacia y el éxito de su próximo proyecto. Pero
además de esas expectativas, las partes interesadas también tienen algunas responsabilidades con usted (Figura 1.4). Discutir
ambos conjuntos de estas expectativas con anticipación puede mejorar las comunicaciones y ayudar a garantizar que su
proyecto sea exitoso, una situación beneficiosa para todos que satisfaga las necesidades de todos. Estos "derechos" se
extrajeron del blog Success in Simulation [67] en www.simio.com/blog y se usaron con autorización. Lo instamos a leer
detenidamente los primeros temas de este blog no comercial por sus muchos consejos de éxito y temas breves e interesantes.
Machine Translated by Google
Capitulo 2
Muchos (no todos) los modelos de simulación son de sistemas de colas que representan una amplia variedad de
operaciones reales. Por ejemplo, los pacientes llegan a una clínica de atención urgente (es decir, simplemente se
presentan al azar sin citas) y todos deben registrarse primero, posiblemente después de esperar en una fila (o una
cola) por un rato; véase la figura 2.1. Después de registrarse, los pacientes van al registro o, si están gravemente
enfermos, van a una sala de traumatología y podrían tener que esperar en la cola en cualquiera de esos lugares
también antes de ser atendidos. Los pacientes que van a la sala de examen luego salen del sistema o van a una
sala de tratamiento (quizás haciendo cola allí primero) y luego salen. Los pacientes gravemente enfermos que
fueron a una sala de traumatología luego van todos a una sala de tratamiento (posiblemente después de hacer
cola allí también), y luego salen. Las preguntas para diseñar y operar una instalación de este tipo podrían incluir
cuánto personal de qué tipo debe tener de servicio durante qué períodos de tiempo, qué tan grande debe ser la
sala de espera, cómo se vería afectada la estadía de los pacientes en la sala de espera si los médicos y enfermeras
disminuyeran o aumentaran. el tiempo que tienden a pasar con los pacientes, qué sucedería si llegara un 10%
más de pacientes y cuál podría ser el impacto de atender a los pacientes en un orden de acuerdo con alguna
medida de agudeza de su condición presentada en lugar de primero en llegar, primero en ser atendido.
Este breve capítulo cubrirá solo los aspectos básicos de la teoría de colas (no de la simulación de colas), ya
que la familiaridad con este material y la terminología es importante para desarrollar muchos modelos de
simulación. Las fórmulas matemáticas relativamente simples de la teoría elemental de colas
19