Inteligencia Artificial y Optimización

Algoritmos Evolutivos, Machine Learning y Control Adaptativo

Ayudantía: IA en Sistemas Eléctricos de Potencia

Docencia | Algoritmos Genéticos | Redes Neuronales

Como ayudante de la asignatura, fui responsable de enseñar y guiar a los estudiantes en la implementación de algoritmos de optimización metaheurísticos aplicados a problemas de sistemas de potencia. El enfoque práctico incluyó la programación desde cero (from scratch) de:

  • Algoritmos Genéticos (GA): Optimización global basada en evolución biológica.
  • Templado Simulado (Simulated Annealing): Métodos probabilísticos para escapar de óptimos locales.
  • Búsqueda Tabú (Tabu Search): Estrategias de memoria para optimización combinatoria.
  • Sistemas Neuro-Difusos (ANFIS): Integración de lógica difusa y redes neuronales para modelado.

Recurso Destacado: Templado Simulado

Video tutorial realizado para la clase sobre la implementación de Simulated Annealing:

Video de Ayudantía: Templado Simulado

Optimización en Tiempo Real: RLS-DCD

Control Adaptativo | C++ / Python

En el contexto de mi memoria de título sobre MFPC (Modulated Model Predictive Control), implementé algoritmos de identificación de sistemas en línea. El desafío principal era la eficiencia computacional para correr en tiempo real.

Se utilizó el algoritmo RLS-DCD (Recursive Least Squares with Dichotomous Coordinate Descent). A diferencia del RLS tradicional que requiere inversión de matrices (costoso O(N³)), el DCD resuelve el sistema lineal mediante métodos iterativos libres de multiplicaciones, ideal para implementación en DSPs y FPGAs.

// Ejemplo conceptual de actualizacion de parametros
void updateRLS_DCD() {
  // 1. Calcular error de prediccion
  error = y_medido - predict(theta, phi);

  // 2. Actualizar parametros bit a bit (DCD)
  for (int i = 0; i < N_ITER; i++) {
    bitUpdate(theta, residual); // Sin multiplicaciones
  }
}