14 May

Integrando AnyLogic y R: Gráfico de control

  • Intro
  • Modelo AnyLogic
  • Resultados
  • Qué hacer

Un concepto común en la ingeniería industrial es el control estadístico de procesos, el cuál consiste en la definición de un proceso a partir de rendimientos estándares de manera que el control de calidad de los productos no requiera de una precisa medición de cada unidad, sino de la revisión de los estadísticos del proceso. Si estos tuvieron alguna desviación frente a sus estándares (media y desviación típica), se sospecha que pueden haber fallas de calidad en los productos y solo entonces se procede a la revisión individual de los productos, lo que reduce sustancialmente los tiempos de ciclo en la producción (ver link).

Una herramienta fundamental para esto es el gráfico de control el cuál permite visualizar para una actividad o proceso específico, el histórico de tiempos de proceso en secuencia, de manera que se establezca el tiempo promedio y los límites superiores e inferiores del proceso. Estos límites marcan la frontera del control estadístico, así un ciclo cuyo tiempo esté por encima del límite superior o por debajo del inferior, se presume anómalo desde el punto de vista estadístico. Los administradores de procesos deciden entonces si se trata de un hecho puntual para una unidad atípica o si es una tendencia del proceso y por ende se requieren tomar medidas bien sea frente al lote de producción, al recurso (un operario fatigado o una máquina próxima a mantenimiento) o a la materia prima entre otras.

Los límites de control son usualmente definidos en función de la desviación estandar del proceso, en general tres desviaciones hacia arriba y hacia abajo son la norma, lo que entre otras es la base de la metodología six sigma.

El gráfico siguiente es una muestra de cómo luce un gráfico de control, donde se evidencia que los ciclos de 4:30 y 6:00 estan por encima del límite superior. Adicionalmente se evidencia que el proceso en general está aumentando su tiempo promedio de ciclo lo cuál puede ser debido a una fatiga del recurso y por tanto requiere de una acción preventiva.

qchart

En ocasiones los límites son controlados artificialmente para aumentar o reducir la variabilidad. Esto sucede cuando uno o varios componentes no son homogéneos o bien cuando se quieren fijar controles específicos (ejemplo reducir los límites a dos desviaciones estándares para los pedidos de un cliente específico o para los productos de exportación).

En este tutorial mostraremos cómo generar estos gráficos de manera automática en AnyLogic con la ayuda de R y cómo hacer uso de ellos para controlar un proceso.

El modelo a simular será una estación de trabajo con una fuente y una salida. El tiempo de procesamiento será una función que explicaremos mas adelante. Adicionalmente se requiere una imagen sin contenido, un dataset y combobox y dos sliders (ver imagen).

alscreenshot_qcc

Agregamos a la lista de dependencias del modelo la librería RCaller-2.5.jar

Rcaller_dependency

La siguiente es la función para controlar el tiempo de proceso tProc()

La cuál integramos en el servicio como tiempo de espera (ver imagen). Adicionalmente agregamos el código que permite actualizar el gráfico de control cada cierta cantidad de piezas procesadas (variable each)

delay_qcc

La función updateControlChart() conecta AnyLogic con el ejecutable de R (RScript), transmite datos y realiza operaciones, en este caso crea el gráfico de control, el cuál se guarda en una dirección temporal del ordenador. La dirección es usada para cambiar periódicamente la fuente del objeto imagen lo que actializa el gráfico de control.

Esta función permite además identificar las piezas cuyo tiempo están por encima de los límites de control (variable violations). Si hay al menos una pieza en esta categoría, el ID de la pieza y el tiempo de proceso pueden ser conocidos haciendo click en el botón "Defectos". Los límites de control también pueden ser fijados haciendo click en el combobox "Fijar Límites" y variando los sliders.

El siguiente es un video demostrando el modelo de simulación en funcionamiento.

Los archivos pueden descarcarse en el siguiente link.

Este modelo fue hecho usando AnyLogic 7.3.3 y Microsoft R Open V 3.2.4, sin embargo como se muestra en el video, es posible cambiar el origen de RScript para usar el script original de R.

Este modelo es solo una muestra de las posibles aplicaciones que se pueden hacer integrando AnyLogic y R, sin embargo R cuenta con una serie de paquetes especializados en muchos campos que permiten ampliar la gama de aplicaciones. Un ejemplor puede ser utiizar paquetes de análisis estadístico (ejemplo MASS, statmod) para identificar distribuciones de probabilidad atípicas y generar predicciones sobre tiempos de operación en las estaciones para mejorar la alocación de tareas, o aplicar minería de datos  (paquetes car y caret) para clasificar actividades según rendimiento, o incluso utilizar aprendizaje autónomo (machine learning) para predecir comportamientos que mejoren la programación y sequenciación (nnet, neuralnet, RSNNS, deepnet, darch).

También es posible utilizar librerías especializadas para diseñar gráficos más avanzados que los suministrados por AnyLigic (ggplot).

En el próximo post de esta serie se explicará un ejemplo aplicando minería de datos y aprendizaje autónomo en R para optimizar un proceso de mediana complejidad.

 

04 May

Nuevo Video Lanner: No more what if, we deliver certainty

El nuevo video de la empresa británica Lanner, consultora y fabricante del software de simulación Witness ha lanzado esta semana su nueva campaña publicitaria promocionando su nuevo enfoque de consultoría, la simulación predictiva.

El video es corto pero impactante, con el mensaje central:

No mas "que pasaría si..." nosotros proveemos certeza!

18 Jan

Concurso de simulación para estudiantes SIMIO

Recientemente se realizó el concurso anual de simulación para estudiantes patrocinado por la empresa SIMIO, en el cuál tuve la oportunidad de ser parte del jurado (ver link del concurso)

El caso a evaluar fue un centro de salud para atención de casos críticos pero no urgentes, un concepto que permitiría descongestionar las urgencias hospitalarias (a continuación un resumen del caso)

Urgent Care Centers of Simio (UCCS) owns a number of urgent care centers across the country that provide patient care on a walk-in basis, typically during regular business hours as well as evenings and weekends. UCCS is generally equipped to treat conditions seen in primary care practices such as infections, flu, minor injuries, and simple fractures. UCCS are staffed by nurses, physicians and physician assistants, and specialists like an orthopedic specialist. 

UCCS facilities include areas for patient registration, waiting, and triage as well as multiple exam / procedure rooms of various types. Patient demand varies not only by time of day and day of week, but also varies across their different centers. UCCS wants to determine the best general layout, staffing, room allocation, and other operating methodologies. UCCS would also like to evaluate how increasing patient incentives to pre-schedule for exams and other minor sicknesses could potentially reduce the staffing required.

Since it is desired to use the same model to optimize centers in many cities, the simulation model must be data driven to easily modify the patient demographics and experiment with the facility and staff configuration and optimization. The proposal must be “sold” to the UCCS board, so 3d animation and clarity of the results is particularly important.

El grupo ganador fue Fantastic 4 Team de la Escuela Superior de Economía y Negocios del Salvador ESEN, a continuación el segundo puesto fue para JDM Team de la Universidad de los Andes (Uniandes) y finalmente el tercer lugar para Linkers Team del Politecnico di Milano (Polimi).

Personalmente me sorprendió la calidad de los trabajos, el profesionalismo de las presentaciones y los análisis realizados por los estudiantes.

En el siguiente link usted podrá visitar el sitio oficial del concurso, ver los videos de los equipos finalistas e incluso ver los modelos.

Felicitaciones para los ganadores.

22 Dec

Nueva versión de Simio

Recientemente fue lanzada la versión 8 del software de simulación Simio. Entre sus nuevas funcionalidades se incluye el portal simio que es un portal web para compartir resultados de simulaciones, permitiendo la divulgación de experimentos a usuarios que no tienen licencias del software. Una lista completa de las nuevas funcionalidades se presenta en el siguiente link.

El siguiente video es una presentación de la nueva versión.

02 Dec

M&S Cube: Un interesante App para los fanáticos de la simulación

MS_cube2

 

El laboratorio de modelación y simulación de la universidad Old Dominium de Virginia (centro de modelación, simulación y análisis VMASC) lanzó recientemente un aplicativo para dispositivos móviles dedicado a la modelación y simulación llamado M&S Cube, cuyo objetivo principal es divulgar información relacionada con M&S.

El aplicativo cuenta con seis diferentes secciones:

1. M&S 101: Teoría general de M&S incluyendo lista de definiciones y términos básicos.

2. Global: Provee información general de organizaciones dedicadas al M&S en todo el mundo, incluyendo su localización y sector de actividad.

3. M&S Markets: Resumen de los diferentes mercados donde se utiliza la M&S, basado en la clasificación NAICS (North American Industry Classification). Cada sector incluye además una lista de las principales  aplicaciones y herramientas más comunes.

4. Resources: Un compendio de fuentes de información relacionados con M&S, incluyendo sitios de interés, libros, software, etc.

5. M&S Today: Fuente de información (RSS Feed) de noticias y trabajos relacionados con M&S actualizados a diario.

6. Support Information: Información y soporte sobre el app y el VMASC (parte inferior del cubo).

El app está disponible para todos los sistemas (Android e IOs). Puede ser descargado en:

27 Nov

Flexsim 7.7: Qué hay de nuevo? (video)

El software de simulación Flexsim lanza su nueva versión 7.7, la cuál incluye entre otros:

  1. Mejores animaciones en 3D
  2. Mejor calidad de renderización
  3. Nueva librería de procesos que permite modelar lógicas complejas como workshops
  4. Integración con Oculus Rift, un visor de realidad virtual que permite a los usuarios entrar y navegar en tiempo real en el modelo de simulación.

 

El siguiente video presenta estas y otras funcionalidades.

Como dato curioso la interfaz gráfica de esta versión ha sido rediseñada tendiendo a parecerce más a otros software existentes como Simio.

Este software es ideal para usuarios con poco conocimiento en simulación y/o cuyas necesidades de animación sean elevadas y/o baja complejidad de modelización.

20 Nov

Artículo "Simulación: Un camino a la innovación a través del juego"

Les comparto mi más reciente artículo publicado en la revista Control Engineering sobre la utilización y popularización de la simulación en empresas con complejas operaciones como las relacionadas con gas y petróleo, donde la familiaridad con la cultura popular de los juegos ha permitido a los usuarios tener un mayor acercamiento y aceptación entre los usuarios.

La simulación permite evaluar múltiples escenarios en un ambiente libre de riesgos, ayudando a la toma de decisiones y la optimización de las actividades empresariales. Sin duda esta es una de las claves de la innovación y el éxito.

El artículo original puede ser consultado en el siguiente link.

07 Oct

Una breve historia de la macroeconomía

En enero de 2013 la revista britanica The Economist dedicó parte de su publicación a la revisión de los nuevos modelos económicos que los inversionistas e investigadores están desarrollando con el fin de anticiparse a las crísis como las presentadas en lo que va corrido de este siglo (la crísis .com a comienzos de 2000 y la burbuja inmobiliaria de 2006 a 2008 de la cuál aún nos estamos recuperando).

El artículo principal se llama "New Model Army" y puede ser consultado en el siguiente link. En síntesis se menciona la importancia de aumentar la cantidad representativa de agentes en el mercado, incluir otro tipo de actores de manera más importante como los banqueros y utilizar métodos computacionales más innovadores como la simulación a base de agentes.

Adicionalmente, se anexa otro artículo llamado "How we got here" en el cuál se presenta un recorrido por las diferentes escuelas de pensamientos y modelación macroeconómica, desde los keynesianos hasta los modernos métodos numéricos y la implementación de modelos de equilibrio general estocástico (DSGE).

Se incluye una interesante presentación en Prezi elaborada por Markus Brunnermeier y Delwin Olivan de la universidad de Princeton, vale la pena revisarla.

%d bloggers like this: