¿Puedo aplicar la optimización de algoritmos genéticos en un problema multivariable con 2 entradas frente a 2 salidas?

Sí, puedes aplicar GA.

Pero antes de hacer eso, aquí hay algunas formas alternativas de considerar:

  • Métodos de variación mínima como filtros Kalman: UKF, EKF,…, KF
  • Métodos convexos: LP, QP, Conic, solucionadores ExpConic: ECOS, MOSEK, …
  • solucionadores no lineales como L-BFGS, CG, Levenberg-Marquardt …
  • Auto-diferenciación para reducir el tedioso gradiente / cálculo de arpillera

GA puede ser un método factible para explorar un espacio de solución muy grande en paralelo. La optimización de hiperparámetros viene a mi mente. Ya tiene una solución, pero busca pulirla con una mejor parametrización, y sabe que calcular el gradiente es prohibitivo / imposible.

Sin embargo, en la mayoría de los casos, GA no es la forma más eficiente de encontrar puntos óptimos. Pero no dio más detalles sobre la función de costo, por lo tanto, no queda espacio para ampliar esto.

Hasta donde entiendo, MPC es un algoritmo de control basado en la optimización de la respuesta del modelo de una planta en un horizonte temporal corto. Esto significa que usted formula una estrategia de control a través de un criterio y usa un algoritmo de optimización para minimizar dicho criterio.

El algoritmo de optimización se utiliza como procedimiento en MPC y debería poder codificar un algoritmo genético que probablemente funcione muy bien para esta parte. Podría comparar cómo funciona esta versión de MPC con respecto a otros MPC no lineales [1].

Notas al pie

[1] Modelo de control predictivo

Para un modelo de pequeña dimensión, probablemente haya mejores opciones (como en las más rápidas y más eficientes), pero un algoritmo genético (o una escalada de montaña estocástica, o recocido simulado, o …) siempre es una buena opción de pirateo rápido que puede da resultados muy rápidos, y nada te impide aplicarlo.

Para la aplicación que hice, utilicé una versión modificada de un GA para un modelo muy pequeño. Es posible, funcionó para mí, pero también me di cuenta durante el proceso de que otros métodos eran mejores para resolver mi problema. Lo bueno que encontré sobre GA es la capacidad de escalar, por lo que tal vez puedas apuntar a eso.

Saludos