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