La optimización basada en simulación (también conocida simplemente como optimización por simulación ) integra técnicas de optimización en el modelado y análisis de simulaciones . Debido a la complejidad de la simulación, la función objetivo puede resultar difícil y costosa de evaluar. Generalmente, el modelo de simulación subyacente es estocástico, por lo que la función objetivo debe estimarse mediante técnicas de estimación estadística (denominadas análisis de resultados en la metodología de simulación).
Una vez que un sistema se modela matemáticamente, las simulaciones por computadora proporcionan información sobre su comportamiento. Los métodos de simulación paramétrica pueden utilizarse para mejorar el rendimiento de un sistema. En este método, se varía la entrada de cada variable manteniendo constantes los demás parámetros y se observa el efecto sobre el objetivo de diseño. Este método consume mucho tiempo y mejora el rendimiento solo parcialmente. Para obtener la solución óptima con un mínimo de cálculo y tiempo, el problema se resuelve iterativamente, de modo que en cada iteración la solución se acerca a la solución óptima. Estos métodos se conocen como "optimización numérica", "optimización basada en simulación" [ 1 ] u " optimización multiobjetivo basada en simulación ", que se utilizan cuando interviene más de un objetivo.
En un experimento de simulación, el objetivo es evaluar el efecto de diferentes valores de variables de entrada en un sistema. Sin embargo, a veces el interés radica en encontrar el valor óptimo de las variables de entrada en función de los resultados del sistema. Una forma de hacerlo sería ejecutar experimentos de simulación para todas las variables de entrada posibles. No obstante, este enfoque no siempre es práctico debido a la variedad de situaciones posibles y hace que sea inviable ejecutar experimentos para cada escenario. Por ejemplo, podría haber demasiados valores posibles para las variables de entrada, o el modelo de simulación podría ser demasiado complejo y costoso de ejecutar para un gran conjunto de valores de variables de entrada. En estos casos, el objetivo es encontrar iterativamente los valores óptimos para las variables de entrada en lugar de probar todos los valores posibles. Este proceso se denomina optimización de simulación. [ 2 ]
Se pueden elegir métodos de optimización específicos basados en simulación según la Figura 1 en función de los tipos de variables de decisión. [ 3 ]

La optimización existe en dos ramas principales de la investigación operativa :
Optimización paramétrica (estática) : El objetivo es encontrar los valores de los parámetros, que son "estáticos" para todos los estados, con el fin de maximizar o minimizar una función. En este caso, se puede utilizar programación matemática , como la programación lineal . En este escenario, la simulación resulta útil cuando los parámetros contienen ruido o la evaluación del problema requeriría un tiempo de computación excesivo debido a su complejidad. [ 4 ]
Control de optimización (dinámico) : se utiliza ampliamente en informática e ingeniería eléctrica . El control óptimo se realiza por estado y los resultados varían en cada uno de ellos. Se puede emplear programación matemática, así como programación dinámica. En este escenario, la simulación puede generar muestras aleatorias y resolver problemas complejos y de gran escala. [ 4 ]
Métodos de optimización basados en simulación
A continuación se analizan algunos enfoques importantes en la optimización de simulaciones. [ 5 ] [ 6 ]
Métodos de clasificación y selección estadística (R/S)
Los métodos de clasificación y selección están diseñados para problemas donde las alternativas son fijas y conocidas, y la simulación se utiliza para estimar el rendimiento del sistema. En el contexto de la optimización mediante simulación, los métodos aplicables incluyen enfoques de zona de indiferencia, asignación óptima del presupuesto computacional y algoritmos de gradiente de conocimiento.
Metodología de superficie de respuesta (MSR)
En la metodología de superficie de respuesta , el objetivo es encontrar la relación entre las variables de entrada y las variables de respuesta. El proceso comienza intentando ajustar un modelo de regresión lineal. Si el valor p resulta bajo, se implementará una regresión polinómica de mayor grado, generalmente cuadrática. El proceso de encontrar una buena relación entre las variables de entrada y de respuesta se realizará para cada prueba de simulación. En la optimización de la simulación, el método de superficie de respuesta se puede utilizar para encontrar las mejores variables de entrada que produzcan los resultados deseados en términos de variables de respuesta. [ 7 ]
Métodos heurísticos
Los métodos heurísticos modifican la precisión en función de la velocidad. Su objetivo es encontrar una buena solución más rápidamente que los métodos tradicionales, cuando estos últimos son demasiado lentos o no logran resolver el problema. Generalmente, encuentran óptimos locales en lugar del valor óptimo; sin embargo, estos valores se consideran suficientemente cercanos a la solución final. Ejemplos de este tipo de métodos incluyen la búsqueda tabú y los algoritmos genéticos . [ 4 ]
Los metamodelos permiten a los investigadores obtener resultados de modelos aproximados y fiables sin necesidad de realizar simulaciones informáticas costosas y que consumen mucho tiempo. Por lo tanto, el proceso de optimización del modelo puede requerir menos tiempo y coste computacional. [ 8 ]
Aproximación estocástica
La aproximación estocástica se utiliza cuando la función no se puede calcular directamente, sino solo estimar mediante observaciones ruidosas. En estos casos, este método (o familia de métodos) busca los extremos de dicha función. La función objetivo sería: [ 9 ]
- es una variable aleatoria que representa el ruido.
- es el parámetro que minimiza .
- es el dominio del parámetro.
Métodos de optimización sin derivadas
La optimización sin derivadas es un campo de la optimización matemática. Este método se aplica a un problema de optimización cuando sus derivadas no están disponibles o no son fiables. Los métodos sin derivadas establecen un modelo basado en valores de función de muestra o extraen directamente un conjunto de valores de función de muestra sin utilizar un modelo detallado. Dado que no requiere derivadas, no se puede comparar con los métodos basados en derivadas. [ 10 ]
Para problemas de optimización sin restricciones, tiene la siguiente forma:
Limitaciones de la optimización sin derivadas:
1. Algunos métodos no pueden manejar problemas de optimización con más de unas pocas variables; los resultados generalmente no son tan precisos. Sin embargo, existen numerosos casos prácticos donde los métodos sin derivadas han tenido éxito en problemas de optimización de simulación no triviales que incluyen aleatoriedad que se manifiesta como "ruido" en la función objetivo. Véase, por ejemplo, lo siguiente [ 5 ] . [ 11 ]
2. Cuando se enfrenta a la minimización de funciones no convexas, mostrará sus limitaciones.
3. Los métodos de optimización sin derivadas son relativamente simples y fáciles, pero, como la mayoría de los métodos de optimización, se requiere cierto cuidado en la implementación práctica (por ejemplo, al elegir los parámetros del algoritmo).
Programación dinámica y programación neurodinámica
Programación dinámica
La programación dinámica aborda situaciones en las que las decisiones se toman por etapas. La clave de este tipo de problema reside en encontrar un equilibrio entre los costos presentes y futuros. [ 12 ]
Un modelo básico dinámico tiene dos características:
1) Tiene un sistema dinámico de tiempo discreto.
2) La función de coste es aditiva a lo largo del tiempo.
Para características discretas, la programación dinámica tiene la siguiente forma:
- representa el índice de tiempo discreto.
- es el estado del tiempo k, contiene la información pasada y la prepara para la optimización futura.
- es la variable de control.
- es el parámetro aleatorio.
La función de coste tiene la siguiente forma:
es el costo al final del proceso.
Dado que el costo no se puede optimizar de manera significativa, se puede utilizar el valor esperado:
Programación neurodinámica
La programación neurodinámica es similar a la programación dinámica, con la diferencia de que la primera incorpora el concepto de arquitecturas de aproximación. Combina inteligencia artificial , algoritmos basados en simulación y técnicas de enfoque funcional. El término "neuro" proviene de la comunidad de inteligencia artificial y se refiere a aprender a tomar mejores decisiones para el futuro mediante mecanismos integrados basados en el comportamiento actual. La parte más importante de la programación neurodinámica es la construcción de una red neuronal entrenada para la resolución óptima del problema. [ 13 ]
Limitaciones
La optimización basada en simulación presenta algunas limitaciones, como la dificultad de crear un modelo que imite el comportamiento dinámico de un sistema de forma suficientemente precisa para su representación. Otro problema radica en la complejidad de determinar los parámetros incontrolables tanto del sistema real como de la simulación. Además, solo se puede obtener una estimación estadística de los valores reales. Determinar la función objetivo resulta complejo, ya que es el resultado de mediciones, lo que puede perjudicar las soluciones. [ 14 ] [ 15 ]
Referencias
- ↑ Nguyen, Anh-Tuan, Sigrid Reiter y Philippe Rigo. " Una revisión de los métodos de optimización basados en simulación aplicados al análisis del rendimiento de edificios ". Applied Energy 113 (2014): 1043–1058.
- ↑ Carson, Yolanda y Anu Maria. « Optimización de la simulación: métodos y aplicaciones ». Actas de la 29.ª Conferencia de Simulación de Invierno . IEEE Computer Society, 1997.
- ↑ Jalali, Hamed e Inneke Van Nieuwenhuyse. " Optimización de la simulación en el reabastecimiento de inventario: una clasificación ". IIE Transactions 47.11 (2015): 1217-1235.
- 1 2 3 Abhijit Gosavi, Optimización basada en simulación: técnicas de optimización paramétrica y aprendizaje por refuerzo , Springer, 2.ª edición (2015)
- 1 2 Fu, Michael, ed. (2015). Manual de optimización de simulación . Springer.
- ↑ Spall, JC (2003). Introducción a la búsqueda y optimización estocástica: estimación, simulación y control . Hoboken: Wiley.
- ↑ Rahimi Mazrae Shahi, M., Fallah Mehdipour, E. y Amiri, M. (2016), Optimización mediante simulación y metodología de superficie de respuesta con una aplicación en la programación de trenes de metro . Intl. Trans. in Op. Res., 23: 797–811. doi : 10.1111/itor.12150
- ↑ Yousefi, Milad; Yousefi, Moslem; Ferreira, Ricardo Poley Martins; Kim, Joong Hoon; Fogliatto, Flavio S. (2018). "Algoritmo genético caótico y enfoque de metamodelado de conjunto Adaboost para la planificación óptima de recursos en departamentos de emergencia". Inteligencia Artificial en Medicina . 84 : 23–33 . doi : 10.1016/j.artmed.2017.10.002 . PMID 29054572 .
- ↑ Powell, W. (2011). Programación dinámica aproximada: cómo superar las maldiciones de la dimensionalidad (2.ª ed., Serie Wiley de probabilidad y estadística). Hoboken: Wiley.
- ↑ Conn, AR; Scheinberg, K. ; Vicente, LN (2009). Introducción a la optimización sin derivadas . Serie de libros MPS-SIAM sobre optimización. Filadelfia: SIAM. Recuperado el 18 de enero de 2014.
- ↑ Fu, MC, Hill, SD Optimización de sistemas de eventos discretos mediante aproximación estocástica de perturbación simultánea. IIE Transactions 29, 233–243 (1997). https://doi.org/10.1023/A:1018523313043
- ↑ Cooper, Leon; Cooper, Mary W. Introducción a la programación dinámica. Nueva York: Pergamon Press, 1981
- ↑ Van Roy, B., Bertsekas, D., Lee, Y., & Tsitsiklis, J. (1997). Enfoque de programación neurodinámica para la gestión de inventarios minoristas . Actas de la Conferencia IEEE sobre Decisión y Control, 4 , 4052-4057.
- ↑ Prasetio, Y. (2005). Optimización basada en simulación para sistemas estocásticos complejos . Universidad de Washington.
- ↑ Deng, G., & Ferris, Michael. (2007). Optimización basada en simulación, Disertaciones y tesis de ProQuest
- Optimización matemática
- Simulación