Home Schedule Projects Evaluation and Policy Resources Announcements
ECE457A: Cooperative and Adaptive Algorithms

The course starts by addressing the ill-structured problems and need for computational intelligence methods. It introduces the concepts of heuristics and their use in conjunction with search methods, solving problems using heuristics and metaheuristics, constraints satisfaction. The course also introduces the concepts of cooperation and adaptations and how they are influencing new methods for solving complex problems. The course starts by illustrating how the concepts of cooperation and adaptation are manifested in nature and how such models are inspiring new types of solutions methods. Topics to be covered include: search algorithms, game playing, constraints satisfaction, meta-heuristics, evolutionary computing methods, swarm intelligence, ant-colony algorithms, particle swarm methods, adaptive and learning algorithms and the use of these algorithms in solving continuous and discrete problems that arise in engineering applications.

Course Objectives:
  • Using a multi-disciplinary perspective and reviewing fundamental theories, this course provides a comprehensive introduction to cooperative and adaptive algorithms and highlights the power of these computational techniques in solving complex problems.
  • To understand non-biological system-based and biological system-based metaheuristic techniques such as tabu search, simulated annealing, genetic algorithms, ant colony optimization and particle swarm optimization.
  • To provide methodological fundamentals for decentralized optimization.
  • To discuss different in-depth case studies to show the ability of these cooperative and adaptive algorithms in solving continuous and discrete problems that arise in different areas of engineering such as manufacturing cells formation, robot motion planning, job scheduling, cell assignment, vehicle routing problem, assembly line balancing, shortest sequence planning, sensor placement, unmanned-aerial vehicles (UAV) communication relaying and multirobot coordination to name just a few.
Course Topics:

The course is divided into three major sections that cover different cooperative and adaptive techniques and their applications in different areas of engineering. Metaheuristic algorithms can be classified into trajectory-based and population-based algorithms. A trajectory-based metaheuristic algorithm such as simulated annealing use a single agent or solution which moves through the design space or search space in a piecewise style. A better move or solution is always accepted, while a not-so-good move can be accepted with certain probability. The steps or moves trace a trajectory in the search space, with a non-zero probability that this trajectory can reach the global optimum. On the other hand, population-based algorithms such as genetic algorithms, ant colony optimization and particle swarm optimization use multiple agents to search for an optimal or near-optimal solution.

 Introductory Concepts
  • Optimization Theory and Combinatorics
  • Graph-search Algorithms
  • Game Playing as Search
  • Metaheuristics
 Trajectory-based Metaheuristic Algorithms
  • Tabu Search
  • Simulated Annealing
 Population-based Metaheuristic Algorithms
  • P-Metaheuristics
  • Evolutionary Computation
  • Genetic Algorithms
  • Swarm Intelligence
  • Particle Swarm Optimization
  • Ant Colony Optimization

Course Instructor: Alaa Khamis
Email: akhamis[at]pami[dot]uwaterloo[dot]ca
Office hours: Fridays 7:00-8:20PM

Course TAs:
Sepehr Eghbali
Email: s2eghbal[at]uwaterloo[dot]ca
Office: DC-2542
Office hours: Thursdays 4:00-5:00PM
Keyvan Golestan Irani
Email: kgolesta[at]uwaterloo[dot]ca
Office: E5-5117
Office hours: Mondays 4:00-5:00PM

- A. Engelbrecht. Fundamentals of Computational Swarm Intelligence. Wiley, 2006.
- Xin-SheYang. Engineering Optimization: An Introduction with Metaheuristic Applications. A JOHN WILEY & SONS, INC., 2010.
- Singiresu S. Rao. Engineering Optimization: Theory and Practice. A John Wiley & Sons, INC., 2009.
- C. Revees. Modern Heuristic Techniques for Combinatorial Problems. Halsted Press, New York, 1993.

Lectures will be based mainly, but not exclusively, on material in these textbooks and other resources. Lectures will not follow the same sequence as the material presented in the texts.