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

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. The course starts by addressing the ill-structured problems and the need for computational intelligence methods. It introduces the concepts of heuristics and their use in conjunction with search methods, game playing and constraint satisfaction methods. The course presents in details different trajectory-based and population-based search techniques. Topics to be covered include: search algorithms, game playing, constraints satisfaction, meta-heuristics, tabu search, simulated annealing, evolutionary computing methods, swarm intelligence, ant-colony algorithms and particle swarm methods. Adaptive and cooperative aspects of these algorithms are highlighted. Different in-depth case studies are discussed 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 Objectives:
  • Introduce 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.
Course Topics:

The course covers different cooperative and adaptive metaheuristic 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. The following topics are covered in this course:

 Introductory Concepts
  • Non-biological Intelligence and Computational Problems
  • Optimization Theory
  • 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
Self-study Algorithms
  • Bat algorithm
  • Firefly algorithm
  • Artificial bee colony (ABC) algorithm
  • Grey wolf optimizer
  • Ant lion optimizer
  • Intelligent Water Drops (IWD)
  • River formation dynamics (RFD)
  • Stochastic Diffusion Search (SDS)
  • Harmony Search (HS) algorithm

Course Instructor: Alaa Khamis
Email: akhamis[at]pami[dot]uwaterloo[dot]ca
Lectures: Tuesdays and Thursdays 19:00-20:20 in RCH 302
Office: DC-3721
Office hours: Fridays 7:00-8:20PM

Course TAs:
Ahmed Elbagoury
Email: aelbagouat]uwaterloo[dot]ca
Office: TBD
Office hours: TBD
Keyvan Golestan Irani
Email: kgolesta[at]uwaterloo[dot]ca
Office: E5-5117
Office hours: Wednesdays 15:00-16:00
Tutorials: Wednesdays 17:30-18:20 in RCH 302

Textbook:
- 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.