Optimization Basics Lab
Decision variables, objectives and constraints, feasible and optimal solutions, ill-structured problems and the search dilemma.
AI techniques for design, planning, and control problems
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.
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.
Simulations of the book’s examples, experiments you run in the browser, links to the chapter notebooks in Colab, and from-scratch Python companions.
Decision variables, objectives and constraints, feasible and optimal solutions, ill-structured problems and the search dilemma.
Classify problems and algorithms, count search spaces and put heuristics to work.
Breadth- and depth-first search, Dijkstra, uniform-cost and bidirectional search.
Minimum spanning trees, hill climbing, beam search, A* and contraction hierarchies.
Acceptance probability, initial temperature and cooling schedules on functions and combinatorial problems.
Tabu structures, aspiration and tenure, and their effect on hard combinatorial problems.
Selection, crossover and mutation for binary, real-valued and permutation encodings, plus multi-objective and adaptive GAs.
Velocity updates, parameters and topologies for continuous, binary and permutation problems.
Stigmergy, transition rules and pheromone updates, and the main ACO variants.
Learning as optimization, the learning paradigms, and how ML helps solve combinatorial problems.
Similarity measures, k-means, DBSCAN and self-organizing maps, including a SOM that solves a 194-city TSP.
Neural networks, GCNs, attention, pointer networks and amortized optimization.
MDPs, Q-learning, actor-critic on CartPole, PPO and multi-armed bandits.
Python libraries for mathematical programming, graph search, metaheuristics and machine learning.
Test functions, combinatorial benchmarks such as TSPLIB, and the datasets used in the book.
End-of-chapter exercises with worked solutions as notebooks.
Elegantly covers modern optimization algorithms in depth and breadth. A great resource.
A treasure trove. Perfect for anyone looking to navigate the intricate world of optimization in real-world scenarios.
An exceptional book on the most prominent optimization algorithms.
This little gem introduces the reader to the algorithms and how you should apply them to real-world problems. A must-read!
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}
}