Skip to content

¿Qué   es la optimización basada en simulación y cuándo se necesita?

, | junio 7, 2023 | By

Un   modelo de simulación es una representación virtual del sistema real. La   modelización por simulación es una técnica poderosa para resolver problemas   comerciales complejos. El objetivo del modelo siempre es apoyar la toma de   decisiones. Estamos tratando de responder preguntas como: cuál es la mejor   acción a tomar, cuál es el número ideal de operadores, cuál es el mejor   diseño, cuál es el nivel ideal de inventario, etc. Estamos prescribiendo la   mejor acción y, por lo tanto, inherentemente estamos tratando de resolver un   problema de optimización utilizando la simulación.

Existen   diversas técnicas de optimización como la optimización analítica, la   programación lineal, la programación entera mixta, la programación dinámica,   la programación por restricciones, además de las optimizaciones heurísticas y   metaheurísticas. Estas técnicas de optimización son muy útiles y poderosas.   Dependiendo del problema, se puede elegir una técnica más adecuada para   encontrar la solución óptima. Sin embargo, los problemas del mundo real son   complejos. Pueden tener múltiples ciclos de retroalimentación, interacciones   no lineales, variación inherente del proceso y disrupciones. La naturaleza   del problema puede ser del tipo de programación no lineal (NP). En tales   casos, a veces es posible linealizar el problema al hacer algunas   suposiciones. En algunos casos especiales, puede ser posible hacer que un   problema NP sea tratable mediante el uso de métodos como la generación de   columnas y la descomposición de Benders. Sin embargo, una amplia variedad de   problemas aún puede estar fuera del alcance de los métodos de optimización   pura. Es precisamente en estos casos donde se debe aplicar un enfoque de   optimización basado en simulación.

Lo mejor de ambos mundos

La   mayoría de las herramientas de simulación como AnyLogic, Simio, FlexSim,   etc., tienen un optimizador incorporado llamado OptQuest, y algunas otras   herramientas permiten la integración con cualquier optimizador de terceros.   El optimizador OptQuest se basa en una metaheurística. La imagen a   continuación muestra una descripción general a alto nivel del enfoque de   optimización basado en simulación. El modelo de simulación captura los   detalles relevantes del sistema real. Los parámetros o variables de decisión   se exponen al optimizador.

En   el experimento de optimización, configuramos la función del valor objetivo y   establecemos si es minimizar o maximizar. Para cada variable de decisión,   definimos el rango en el que el optimizador buscará una solución óptima y,   adicionalmente, podemos definir un tamaño de paso. También podemos establecer   cualquier restricción en las variables de decisión. Cuando ejecutamos este   experimento de optimización, el optimizador cambia el valor de las variables   de decisión (cada prueba se denomina iteración) y observa el valor objetivo.   En cada iteración, la simulación se ejecuta varias veces con el mismo   conjunto de valores para las variables de decisión. Cada una de estas   ejecuciones se llama replicaciones y son necesarias para incorporar la   naturaleza estocástica inherente del sistema. El número de replicaciones se   puede definir por el usuario en la configuración de optimización. El   optimizador inferirá qué tan bueno o malo es una iteración en función del   valor promedio de la función objetivo en estas replicaciones. El optimizador   realiza múltiples iteraciones de este tipo y utiliza una estrategia   metaheurística para llegar a la mejor solución.

Blog_optimization1

Blog_optimization2

Podemos   especificar un número fijo de iteraciones después del cual el optimizador se   detendrá, o podemos permitir que el optimizador siga ejecutándose hasta que   no encuentre mejoras en las últimas "x" iteraciones.

No hay Almuerzo gratis?

Since this simulation-based optimization approach uses a metaheuristic optimizer it is worth mentioning that researchers in the field of metaheuristics suggest that as the problem gets larger, the optimizer performance degrades. To increase performance, we must design the metaheuristic in a more problem-specific way. The OptQuest optimizer is essentially a black-box optimizer. The “No Free Lunch Theorem” in optimization states that: The design of a general black-box optimization method is not possible. However, in practice, we have solved multiple real-world problems using the simulation-based optimization approach. 

Sobre nosotros

SimWell es el líder norteamericano en soluciones de simulación y optimización.

Comienza   con una conversación. Envíenos un chat en vivo o haga clic en Iniciar la   conversación. Queremos   conocer tus desafíos de optimización y ver cómo podemos ayudar.

New call-to-action