¿Qué es O3 Simulation Platform?
Motivación
Principales Conceptos
Definición y Ejemplo
Arquitectura de la Plataforma
Guía Rápida
Motivación
O3 es típicamente utilizado para al análisis de información proveniente del pasado, también llamada información histórica, pero esto se debe principalmente a que la información disponible en un sistema tradicional refleja sólo los hechos que han ocurrido. Para analizar una determinada problemática no es posible sólo basarse en información histórica, sino que también es necesario analizar el futuro, o lo que es lo mismo, los distintos escenarios que pueden desencadenarse a partir de acciones en el presente.
No es correcto pensar que O3 se encuentra restringido a analizar solamente información pasada, pues si se contara con la información sobre el futuro, la forma de analizarlo sería la misma. Medir el impacto de una campaña publicitaria, observando en el cubo los resultados de las ventas, luego de que se llevó adelante, es el mismo tipo de análisis que simular una posible situación y observar cuales serán las ventas. Obviamente hay un nivel de incertidumbre sobre cómo se comportará la realidad y de ahí que sea necesario muchas veces simular distintos escenarios.
El nuevo componente de simulación genera diferentes escenarios o posibles realidades, para de esta forma contar con la información sobre lo que ocurrirá. Para esto se utilizan fórmulas, paramétricas, tendencias, información histórica, etc. En otras palabras se utiliza el know-how del negocio para establecer los diferentes escenarios y luego se analiza el resultado tal y como si ya hubiera ocurrido.
Principales Conceptos
- Variables: Valores que interesa medir o dan contexto a la simulación. Las variables en general son calculadas mediante fórmulas que reflejan cómo se produce un hecho en la vida real o de lo contrario indican qué producto, qué cliente o qué elemento está asociado. Podrían ser variables: el producto vendido, el vendedor que lo hace, la cantidad que vende, lo que se gana por la venta, etc.
- Fórmulas: Expresiones con las que se modela la realidad y cómo ésta se desarrolla. Supongamos:
- Resultados Económicos = Ventas - Gastos - Inversión
- Producción = Producción Hora x Horas Trabajadas
- Tiempo: El tiempo es un componente esencial de la simulación, dado que una simulación se trata de proyectar cómo se comportara una determinada situación en el futuro. Típicamente del tiempo por lo menos es necesario conocer cuando empezar a simular, la escala que se manejará y hasta cuando.
- Elementos: Muchas veces al momento de simular por ejemplo ventas, producción, etc. es necesario hacerlo describiendo cómo se vende cada producto, es decir cuál es el ritmo de producción de cada elemento, pues las fórmulas sólo pueden ser definidas para precisamente un elemento. Los elementos pueden ser de característica muy diversa, clientes, productos, secciones de una empresa, parcelas de tierra, según cómo sea necesario simular, inclusive podrían ser combinaciones (Ej.: productos por cliente).
- Componentes: Para permitir una mayor riqueza expresiva la simulación se puede dividir en componentes como ser: ventas, producción, resultados económicos, etc. Inclusive dichos componentes pueden nutrirse unos de otros logrando así modelar situaciones más complejas.
- Parámetros: A fin de poder tener fórmulas de mayor poder expresivo se introduce el concepto de parámetros, supongamos por ejemplo una formula de ventas: Venta = Venta x Índice de Ventas. Aquí Índice de Ventas no es un valor fijo, de hecho puede variar por producto, por mes o por los conceptos que tenga sentido que lo haga según la realidad planteada.
- Alcance de los Parámetros: Para permitir que un mismo parámetro tenga distintos valores según por ejemplo si se esta preguntando para un producto, para todos los productos o para un determinado cliente es necesario introducir la idea de alcance.
Con esta noción podemos justamente manejar que en el ejemplo anterior hay tres alcances: global, por producto o por cliente y consultar luego el valor del parámetro en cualquiera de ellos. Para resolver la posible competencia (supongamos que se sabe el cliente y el producto, ¿con cual valor del parámetro me quedo?) también es necesario indicar un orden en el que deben ser considerados.
- Escenario: Un escenario refiere a la ejecución de una simulación, una vez definidos todos los otros componentes podemos decir que se ha definido un escenario de simulación, si alteramos alguno de sus componentes (valores de parámetros, elementos, etc.) estamos generando otro escenario. Los escenarios son usados para comparar, por ejemplo,¿en un escenario favorable cuales serán mis ventas?, ¿y en un escenario desfavorable?, etc.
Existen otros temas como el manejo de versiones, el agrupamiento de parámetros, metadata, dependencias entre componentes, etc. que son considerados en secciones apartes.
Una vez calculado el resultado de una simulación el resultado se observa al construir cubos sobre la información generada, por lo tanto los resultados de una simulación deben ser poder ser almacenados en una base de datos.
Definición y Ejemplo
Una simulación pretende a lo largo del tiempo simular el comportamiento de un conjunto de elementos a través de la definición de variables/fórmulas/etc. Dado que un problema de simulación puede ser muy complejo éste se divide en componentes. Cada componente puede verse como en la Figura 1 a continuación:
Figura 1: Ejemplo de una simulación
En la Figura 1 se puede ver como evolucionan las toneladas de manzanas, bananas y naranjas producidas mes a mes. Los elementos como está marcado son estos productos y la escala de tiempo el mes. La variable que se está monitoreando son las toneladas producidas y la fórmula con la que se van calculando los valores es Ventasi+1 = Ventasi+ Ventasi*0,5.
Por la simplicidad del ejemplo anterior sólo fue necesario contar con un componente (la Figura 1) y no fue necesario utilizar parámetros, pero se puede ver que si 0,5 quisiera ser alterado o variara para cada producto sería deseable tener la posibilidad de escribir una fórmula como:
Ventasi+1 = Ventasi+ Ventasi * Indice de Crecimiento
donde Índice de Crecimiento fuera un parámetro que tomara el valor, por ejemplo, registrado en una tabla mediante un formulario de alta, baja, modificaciones y consultas. Esto nos permitiría fácilmente generar un escenario favorable y uno no tan favorable para poder observar los resultados.
A su vez, permitiendo guardar el resultado de la simulación de la Figura 1 en una base de datos:
Figura 2: Posible tabla para almacenar la simulación.
se pueden construir cubos, tableros, reportes, etc. utilizando las funcionalidades de O3 para realizar el análisis. Esto nos permite obtener resultados como el que sigue:
Figura 3: Análisis de una simulación con O3
Arquitectura de la plataforma
Gráficamente el esquema de la solución es el siguiente:
Figura 4: Interacciones / Herramientas de la solución de simulación
Como se puede ver en la Figura 4 en una primera etapa un usuario diseñador de la solución de simulación debe definirla, esto significa indicar las fórmulas, variables, parámetros, componentes, etc. La gran mayoría de estos datos generalmente se toman de la denominada Base de datos de la Simulación. Como resultado de la etapa de diseño la herramienta genera un archivo XML describiendo lo que el diseñador ha especificado. Al enviar esta definición hacia el servidor se da por culminada esta etapa.
La otra función cumplida por la base de datos de la simulación es almacenar el resultado de la simulación. El resultado de una simulación depende de qué se pretenda simular pero a modo de ejemplo significa almacenar las ventas previstas, o la producción, o las horas trabajadas, etc. El Proceso de generación de los datos de la simulación comienza una vez que el usuario ha depositado en el servidor la definición y se realiza tantas veces como sea necesario, esto es si se cambia la definición, los valores de los parámetros, etc., pero siempre a pedido del usuario.
La tercer y última etapa es la de uso. Utilizar significa tanto analizar con O3 los datos generados como eventualmente modificar parámetros, fórmulas o detalles para ajustar o evaluar otras posibilidades. La diferencia entre esta etapa y la de diseño es que esta supone modificaciones o cambios de mucho menos envergadura que la etapa de diseño.
Guía Rápida
A modo de ejemplo se presenta la secuencia de pasos a realizar para poner en funcionamiento el caso de estudio BizPlan provisto con la distribución de O3 Simulation Platform.