Cover of Optimization Algorithms: AI techniques for design, planning, and control problems by Alaa Khamis
Manning Publications · 2024 · ISBN 978-1633438835

Optimization Algorithms

AI techniques for design, planning, and control problems

by Alaa Khamis

A practitioner’s guide to solving ill-structured search and optimization problems with modern derivative-free algorithms. With only intermediate Python and data structures, learn to select, implement and adapt the right solver for real design, planning and control problems.

About the book

From toy problems to real-world solutions

Optimization is everywhere: in how ants find food, how parcels are routed, how airlines schedule crews and how cities manage traffic. Most real problems are ill-structured: large, dynamic, uncertain and without a neat mathematical model, so classic derivative-based solvers struggle. This book covers the algorithms built for them.

Each algorithm is introduced through its source of inspiration, pseudocode and parameters, then worked by hand on a small example before Python solves a scaled-up, real-world version. Routing, scheduling, assignment, packing, districting and control problems appear throughout.

Every chapter has Python notebooks in the book’s GitHub repository, ready to run in Google Colab, and an interactive lab to explore in the browser.

Contents

Five parts

Interactive labs

A lab for every chapter

Simulations of the book’s examples, experiments you run in the browser, links to the chapter notebooks in Colab, and from-scratch Python companions.

Chapter 1Part I

Optimization Basics Lab

Decision variables, objectives and constraints, feasible and optimal solutions, ill-structured problems and the search dilemma.

Ticket pricingMultiple objectivesConstraints
Chapter 2Part I

Problems and Algorithms Lab

Classify problems and algorithms, count search spaces and put heuristics to work.

Landscapesn-queensLinear programmingBin packing
Chapter 3Part I

Blind Search Lab

Breadth- and depth-first search, Dijkstra, uniform-cost and bidirectional search.

8-puzzlePath planningCampus routing
Chapter 4Part I

Informed Search Lab

Minimum spanning trees, hill climbing, beam search, A* and contraction hierarchies.

Hill climbingA*Contraction hierarchies
Chapter 5Part II

Simulated Annealing Lab

Acceptance probability, initial temperature and cooling schedules on functions and combinatorial problems.

Cooling schedulesSudokuBerlin52 TSP
Chapter 6Part II

Tabu Search Lab

Tabu structures, aspiration and tenure, and their effect on hard combinatorial problems.

KnapsackQuadratic assignmentTSP
Chapters 7–8Part III

Genetic Algorithm Lab

Selection, crossover and mutation for binary, real-valued and permutation encodings, plus multi-objective and adaptive GAs.

TSPNSGA-IIPID tuning
Chapter 9Part IV

Particle Swarm Optimization Lab

Velocity updates, parameters and topologies for continuous, binary and permutation problems.

TrilaterationProject selectionTSP
Chapter 10Part IV

Ant Colony Optimization Lab

Stigmergy, transition rules and pheromone updates, and the main ACO variants.

Ant colony systemMax-min ant systemTSP
Chapter 11Part V

Intro to ML Lab

Learning as optimization, the learning paradigms, and how ML helps solve combinatorial problems.

Curve fittingLearning to configure
Chapter 11Part V

Unsupervised Learning Lab

Similarity measures, k-means, DBSCAN and self-organizing maps, including a SOM that solves a 194-city TSP.

K-meansDBSCANSOM
Chapter 11Part V

Supervised Learning Lab

Neural networks, GCNs, attention, pointer networks and amortized optimization.

GCNAttentionPointer networks
Chapter 12Part V

Reinforcement Learning Lab

MDPs, Q-learning, actor-critic on CartPole, PPO and multi-armed bandits.

Q-learningPPOBandits
Appendix ANotebooks

Search and optimization libraries in Python

Python libraries for mathematical programming, graph search, metaheuristics and machine learning.

Appendix BNotebooks

Benchmarks and datasets

Test functions, combinatorial benchmarks such as TSPLIB, and the datasets used in the book.

Appendix CNotebooks

Exercises and solutions

End-of-chapter exercises with worked solutions as notebooks.

What readers say

Praise for the book

Elegantly covers modern optimization algorithms in depth and breadth. A great resource.
Ajit Jaokar, Course Director, University of Oxford
A treasure trove. Perfect for anyone looking to navigate the intricate world of optimization in real-world scenarios.
Sergei Kalinin, Weston Fulton Professor, University of Tennessee
An exceptional book on the most prominent optimization algorithms.
Maxim Volgin, Data Scientist, KLM Royal Dutch Airlines
This little gem introduces the reader to the algorithms and how you should apply them to real-world problems. A must-read!
Marcello La Rocca, author of Grokking Data Structures
Citation

Cite the book

Alaa Khamis, Optimization Algorithms: AI techniques for design, planning, and control problems. Manning Publications, ISBN 978-1633438835, 2024.

Found a mistake? See the errata.

@book{Khamis2024,
  title     = {Optimization Algorithms: AI techniques for design, planning, and control problems},
  author    = {Alaa Khamis},
  year      = {2024},
  isbn      = {978-1633438835},
  publisher = {Manning Publications}
}