Estoy trabajando para mejorar el proceso de optimización de algunos programas de modelado demográfico para que pueda adaptar mejor los modelos demográficos a los datos. Nos gustaría disminuir el tiempo de optimización.
El tiempo que lleva evaluar nuestra función objetivo varía mucho, dependiendo de los valores de entrada. Se conoce la relación entre el tiempo para evaluar la función objetivo y la entrada. Me pregunto si hay algún método de optimización que considere el costo de tiempo relativo de la función objetivo al elegir qué puntos evaluar.
¡Gracias!
Actualizar:
Como Paul solicitó, aquí hay algunas características destacadas de esta función objetivo particular:
- El número de parámetros es moderado (~ 12ish)
- Nuestro problema es no convexo, o al menos hay "crestas" estrechas y planas en la superficie de la función objetivo. En este momento estamos lidiando con esto usando múltiples optimizaciones desde diferentes puntos, pero nos encantaría hacerlo mejor.
- La función objetivo es bastante suave, aunque solo podemos calcular aproximaciones de diferencias finitas a derivadas.
- El costo de evaluación también es una función fluida de los valores de los parámetros, y es bastante predecible. en términos generales, para cada parámetro, el costo de evaluar es alto en un extremo del rango y bajo en el otro extremo. Por lo tanto, tenemos grandes regiones de conjuntos de parámetros costosos de evaluar, pero sabemos dónde están.