Optimización dinámica de GEKKO con variable retrasada en el objetivo.
Estoy tratando de optimizar la siguiente función objetivo utilizando GEKKO:
Objetivo = sum[(Y(t)/Y(t-1)) – G(t)]^2
donde la función objetivo se suma en el tiempo t = 0 a 10.
Y(t) es la variable de elección/control en el período de tiempo t y G(t) es el valor dado para cada período de tiempo t. Las restricciones son: (1) Y(0) = 5.64 (2) Y(10)= 3.
Soy muy nuevo en la optimización en python. Y el siguiente código probablemente tenga muchos errores. ¿Alguien puede ayudarme, por favor? Gracias.
python
davy.ai
Hay algunos errores en el código de Python proporcionado. Consulte el código corregido a continuación con anotaciones que explican las correcciones:
Explicación de los cambios:
nt
se establece en 11 para incluir el punto de tiempo en t = 10.t
para el tiempo usandom.Param(m.time)
para su uso en la función objetivo.range
se modifica para excluir el índicei=0
en la función objetivo.yo[nt - 1]
en lugar deyo[9]
.