Por Sam Dean.

En esta entrada, Sam Dean explica el uso de WITNESS Experimenter y cómo se puede usar para optimizar modelos sujetos a funciones objetivas, restricciones y parámetros modificables.

En nuestra vida cotidiana, dejamos que los ordenadores decidan mucho de lo que hacemos: si esa es la ruta más rápida para trabajar o qué música escuchar, confiamos en los algoritmos informáticos para optimizar nuestras vidas. En la misma línea, hay una herramienta simple para ayudarle a optimizar sus modelos WITNESS, permitiéndole enfocarse en otras cosas mientras se ejecutan, brindándole una valiosa información sobre los efectos de cada uno de sus parámetros, a través de miles de ejecuciones.

Para acceder al Experimenter, haga clic en el icono del tubo de ensayo o vaya a Model -> Experimenter. Cuando intente esto, verá que hay 2 versiones de Experimenter: modo Simple y Advanced.

Simple Experimenter

WITNESS Simple Experimenter es sencillo, ya que se especifica cada escenario que se desea ejecutar, en lugar de dejar que Experimenter decida qué combinaciones de valores de parámetros probar. Esto se utilizaría mejor cuando se sepa exactamente qué escenarios se desea ejecutar, y sepa que cada uno de ellos tardará un tiempo razonable en ejecutarse. Por lo tanto, puede configurarse para que se ejecute y luego regresar cuando haya terminado, habiendo configurado previamente las respuestas para todas las cosas que se desean saber, o configurar su modelo para que envíe todos los datos a otro programa, como un archivo csv.

A continuación puede verse la configuración del Experimentation Model.

  • Warmup es el punto en el que el modelo restablecerá todas sus estadísticas. Debe establecerse este valor en un punto del modelo cuando se desee comenzar a registrar información.
  • Run Length es el tiempo durante el que se desea registrar datos, se desea que sea lo suficientemente largo como para reflejar adecuadamente el nivel de variabilidad en los datos, pero no tanto como para hacer que la experimentación dure una eternidad.
  • El número de Replications para cada escenario es el número de veces que desea ejecutar cada escenario utilizando diferentes flujos de números aleatorios, probando cada modelo con diferentes valores para cada variable aleatoria. Este número dependerá en gran medida de la cantidad de aleatoriedad en su modelo y la longitud de ejecución (Run Length) que haya configurado previamente.
  • El valor Skip indica cuántos números aleatorios se omiten entre las réplicas. En general, éste debería ser mayor para tramos más largos. Se puede encontrar una recomendación para esto haciendo Run Length o Replication Analysis.
  • Las propiedades de Control cambian la cantidad de resultados que se podrán ver cuando se termine la Experimentación. Solo debería ser un problema en el modo Avanzado.
Advanced Experimenter

WITNESS Advanced Experimenter es un poco más complicado (como su nombre lo indica), pero sigue siendo increíblemente manejable y añade mucha más capacidad de optimización que puede necesitar. En primer lugar, le permite especificar restricciones, como presupuesto, personal, etc. obligando al software a planificar en función de sus datos de entrada. También tiene varios algoritmos incorporados para la optimización.

Para esto, solo se necesita especificar una función objetivo, por ejemplo, ganancias, utilización, etc. y luego un algoritmo para intentar optimizar su modelo. Se pueden encontrar más detalles sobre los algoritmos en los archivos de ayuda en Experimenter.

El cuadro a continuación muestra Advanced Experimenter mejorando gradualmente su función objetivo a medida que prueba muchos conjuntos diferentes de parámetros de entrada para encontrar una solución óptima.

En conclusión, Simple Experimenter debe de utilizarse si se conoce el escenario exacto que se desea ejecutar, sin embargo, si tiene una serie de parámetros que puede cambiar, aquí es donde brilla Advanced Experimenter.