Skip to content

Simulación inteligente: integración de Simio y Matlab

  • Healthcare

El desafío

por Mohammad Dehghanimohammadabadi y Thomas K. Keyser (Western New England University)

Tal y como se presentó en la Conferencia de Simulación de Invierno de 2015

El modelado de simulación se utiliza cada vez más para abordar diversos problemas en varias disciplinas, entre las que se incluyen la sanidad, la fabricación, los servicios y los sistemas de la cadena de suministro. Como herramienta fundamental para la toma de decisiones, la simulación determina las configuraciones y alternativas atractivas para proporcionar justificación suficiente para convencer a los gestores de que adopten mejoras. Sin embargo, hay algunas actividades en los sistemas del mundo real que los paquetes de software de simulación no pueden abordar adecuadamente. Este tipo de actividades son principalmente herramientas de toma de decisiones que se desarrollan para mejorar el rendimiento del sistema. Por ejemplo, en los sistemas de fabricación, las técnicas de programación se utilizan ampliamente para proporcionar la programación óptima de las actividades de la planta de producción. Por lo tanto, con el objetivo de planificar estratégicamente el sistema a largo plazo mediante la simulación, es fundamental incorporar estas actividades de toma de decisiones al modelo de simulación. Esta capacidad hace que la simulación sea más inteligente y precisa, ya que proporciona una perspectiva más realista del sistema y de lo que realmente ocurre en él.

Integrar esta lógica excepcional en un modelo de simulación es todo un reto; sin embargo, con el avance de los paquetes de simulación actuales, como SIMIO, es posible. Una de las muchas ventajas de SIMIO es su "interfaz de programación de aplicaciones" (API), que permite a los usuarios personalizar o ampliar el modelo que deseen. La ampliación puede consistir en añadir nuevos pasos, elementos y reglas, importar y exportar datos, mejorar la experimentación con algoritmos externos o establecer interfaces desde programas externos. Aprovechando la capacidad de la API, este estudio presenta una nueva instancia de paso definida por el usuario que incorpora MATLAB como parte integrante de SIMIO. Este paso se denomina "CallMatlab" y requiere la dirección de la carpeta en la que se encuentra el archivo MATLAB más el nombre de la función MATLAB. De forma similar a las instancias de paso existentes en SIMIO, el usuario podría arrastrar y soltar fácilmente CallMatlab mientras construye los procesos.

La solución

Aplicación

Una de las aplicaciones del paso "CallMatlab" propuesto es la llamada a la optimización dentro de la ejecución de la simulación. En la literatura, este tipo de simulación se denomina simulación basada en optimización iterativa (IOS), en la que un gestor de optimización está integrado en un agente de simulación. Este paso es capaz de activar el optimizador cuando se producen eventos predefinidos en la simulación. Independientemente del tipo de optimización, se puede utilizar MATLAB para ejecutar algoritmos de optimización personalizados por el usuario o llamar a optimizadores comerciales, como CPLEX, a través de MATLAB. Dado que el objetivo de la simulación es reflejar las actividades del mundo real, el usuario puede aplicar este paso siempre que realice optimizaciones rutinarias en situaciones del mundo real. Por ejemplo, en un sistema de fabricación, los planificadores utilizan la optimización para programar los trabajos de forma regular, como al principio de cada turno, o en algunos casos urgentes, como averías de la máquina, reparaciones o la llegada de nuevos trabajos. Por lo tanto, en función de la frecuencia con la que se utilice la optimización en el sistema, durante la ejecución de la simulación se llamará al paso proporcionado que activa el optimizador en MATLAB. Algunas de las aplicaciones de esta instancia de paso en el modelado de simulación son las siguientes.

Aplicación en sistemas sanitarios

La programación de pacientes, enfermeras o médicos es una tarea muy común en la mayoría de hospitales y urgencias. El paso CallMatlab podría utilizarse para modelar las operaciones diarias de programación en un hospital donde pueden ocurrir eventos no planificados y es necesaria la optimización. Ejemplos de estos eventos son: dos médicos enfermos, el anuncio de un accidente de autobús que desbordará las Urgencias, un retraso en la llegada de repuestos críticos, etc. En general, estos eventos requieren acciones compensatorias inmediatas que pueden ser evaluadas con un modelo de simulación (Espinoza et al., 2014). Un modelo de decisión basado en simulación, inicializado con la información más reciente del estado del sistema, puede ser útil para la evaluación a corto plazo de varias soluciones alternativas o estrategias operativas alternativas (Espinoza et al., 2014). Sin embargo, para la planificación a largo plazo, el paso propuesto podría ayudar a los profesionales a ejecutar IOS para retratar su sistema, mientras se optimiza varias veces frente a cualquier desafío que pueda existir en el sistema de salud real.

Aplicación en sistemas de fabricación

Durante la simulación de un sistema de fabricación, la optimización se activa cada vez que cambia el estado del sistema y es necesario reprogramarlo. El gestor de optimización de MATLAB resuelve un problema analítico y envía los resultados a la simulación para redistribuir los trabajos no procesados entre las máquinas disponibles. Algunos de los eventos desencadenantes en un sistema de fabricación podrían ser: averías de la máquina, mantenimiento preventivo, cambio en el patrón de demanda, retraso inesperado de los trabajos programados u hora de inicio del turno. Al producirse cualquiera de los eventos mencionados, el gestor de simulación inicia la optimización y reprograma todos los trabajos no procesados de acuerdo con la nueva solución óptima.

Aplicación en sistemas de gestión de la cadena de suministro (SCM)

Un modelo de simulación podría abarcar diversos modelos de SCM con sus relaciones no lineales y complejas y bajo supuestos más realistas. La demanda de los clientes y las capacidades de los proveedores cambian constantemente, tanto en variedad como en gama de precios. Se podría aprovechar el modelo IOS en un modelo de cadena de suministro, mientras que cualquiera de esos cambios en el sistema podría considerarse un punto de activación. Por ejemplo, si cambia la demanda del cliente, varía la capacidad del proveedor, se selecciona un nuevo proveedor, fluctúa el número de transportes disponibles o incluso cambian los precios, la simulación podría hacer una pausa y optimizar el sistema de acuerdo con la nueva condición SCM. Aplicando el enfoque IOS propuesto, las empresas tienen la oportunidad de diseñar su propia cadena de suministro, no sólo optimizando las operaciones internas, sino también examinando y mejorando el rendimiento de toda la cadena de suministro a largo plazo.

El impacto empresarial

Conclusión

El paso SIMIO propuesto integra un software de simulación a un agente computacional con el fin de realizar operaciones altamente computacionales como la optimización. Se presentan varias aplicaciones para ilustrar el potencial de la instancia de paso CallMatlab propuesta para implementar el modelado IOS. Sin embargo, este paso no se limita a realizar optimización y podría ser utilizado para ejecutar cualquier tipo de cálculo que el usuario desee. Creemos que esta adición, añade una nueva dimensión al enfoque de modelado de simulación. Esto permitiría a los expertos disfrutar de la simulación de modelado mientras implementan sus propias lógicas y herramientas de toma de decisiones dentro de la ejecución de la simulación.