Artificial Intelligence & Optimization

Evolutionary Algorithms, Machine Learning, and Adaptive Control

Teaching Assistant: AI in Electrical Power Systems

Teaching | Genetic Algorithms | Neural Networks

As a teaching assistant for this course, I was responsible for teaching and guiding students in implementing metaheuristic optimization algorithms applied to power systems problems. The practical approach included programming from scratch:

  • Genetic Algorithms (GA): Global optimization based on biological evolution.
  • Simulated Annealing: Probabilistic methods for escaping local optima.
  • Tabu Search: Memory strategies for combinatorial optimization.
  • Neuro-Fuzzy Systems (ANFIS): Integration of fuzzy logic and neural networks for modeling.

Featured Resource: Simulated Annealing

Video tutorial created for the class on implementing Simulated Annealing:

Real-Time Optimization: RLS-DCD

Adaptive Control | C++ / Python

In the context of my graduation thesis on MFPC (Model Free Predictive Control), I implemented online system identification algorithms. The main challenge was computational efficiency for real-time operation.

The RLS-DCD (Recursive Least Squares with Dichotomous Coordinate Descent) algorithm was used. Unlike traditional RLS which requires matrix inversion (costly O(N³)), DCD solves the linear system through multiplication-free iterative methods, ideal for implementation in DSPs and FPGAs.

// Conceptual parameter update example
void updateRLS_DCD() {
  // 1. Calculate prediction error
  error = measured_y - predict(theta, phi);

  // 2. Update parameters bit by bit (DCD)
  for (int i = 0; i < N_ITER; i++) {
    bitUpdate(theta, residual); // No multiplications
  }
}