es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cálculo de derivadas cero durante la optimización (sin impacto en el objetivo)

Estoy escribiendo un código de optimización para un modelo de solucionador de radiación de diferencia finita. Comencé a utilizar “src_indices” para conectar parámetros en lugar de promover todas las variables. Pero cuando cambié la conexión, la optimización no calcula derivadas, da un error de “ningún impacto en el objetivo” y termina la optimización con éxito después de la primera iteración. No pude encontrar ninguna pista para encontrar el error en los registros (el error puede estar en una razón completamente diferente).

¿Hay alguna sugerencia por dónde puedo empezar?

Subí el código a GitHub https://github.com/TufanAkba/opt_question

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en la optimización con openmdao, hay algunas sugerencias que podrían ayudar en la situación:

    1. Verifique nuevamente la conexión entre los parámetros y asegúrese de que los src_indices estén configurados correctamente. Es importante asegurarse de que los índices correspondan a las entradas y salidas correctas, ya que un pequeño error en los valores de índice puede causar que la optimización falle.
    2. Verifique si la función objetivo está correctamente definida y configurada. El mensaje de error “no impact to objective” indica que el algoritmo de optimización no puede encontrar ninguna mejora a pesar de realizar cambios en las variables de diseño. Puede ser útil revisar la función objetivo y asegurarse de que refleje los objetivos de optimización.

    3. Intente ejecutar la optimización con un algoritmo diferente. Es posible que el algoritmo elegido no funcione bien con la configuración actual del problema, por lo que cambiar a un algoritmo diferente puede ayudar con la convergencia.

    4. Busque cualquier advertencia o mensaje de error en los registros que puedan proporcionar más información sobre la fuente del problema. Es importante examinar minuciosamente los registros y depurar el código para identificar cualquier problema que pueda no ser inmediatamente evidente.

    5. Finalmente, puede ser útil comunicarse con la comunidad de openmdao. La comunidad es activa y puede proporcionar ideas y soluciones a los problemas encontrados. El repositorio de GitHub también se puede publicar en el foro de openmdao para que otros lo revisen y brinden comentarios.

    En resumen, la depuración de un código de optimización puede ser un proceso complejo, pero las sugerencias anteriores deberían ayudar a identificar la fuente del problema.

Comments are closed.