Optimization Algorithms: AI techniques for design, planning, and control problems

Alaa Khamis
AI4SM
Published in
5 min readApr 5, 2024

Optimization Algorithms: AI techniques for design, planning, and control problems delves into the diverse world of optimization algorithms, offering an extensive exploration of deterministic graph search algorithms, trajectory-based algorithms, evolutionary computing algorithms, swarm intelligence algorithms, and machine learning–based methods. It is designed to cater to both novices and experts, featuring a wealth of examples and in-depth case studies that span a broad spectrum of design, planning, and control problems. These examples encompass a wide array of practical scenarios related to people mobility, logistics and transportation infrastructure. These examples, including, but not limited to, routing problems, assembly line balancing, optimal pricing, controller parameter tuning, districting problems, product manufacturing planning, facility allocation, scheduling, ridesharing, supply/demand optimization, airline flight operations, electric motor control, and online advertising optimization. This book stands as a valuable resource for anyone looking to deepen their understanding and proficiency in the dynamic and ever-evolving field of optimization.

Optimization Algorithms: AI techniques for design, planning, and control problems

Who should read this book?

This book is tailored to meet the needs of a diverse range of readers, particularly working professionals who deal with optimization problems across various domains. It serves as an invaluable resource for practitioners seeking to deepen their understanding and skills in solving optimization problems. The content is also highly beneficial for continuing education and training centers, catering to general-interest readers and learners with a keen interest in optimization algorithms. Computer engineering/science and systems engineering students, along with researchers, will find this book a treasure trove of knowledge, enhancing their academic and practical understanding. Additionally, university professors can leverage this comprehensive guide in designing and enriching undergraduate and postgraduate courses on topics such as graph search, metaheuristic optimization, bio-inspired algorithms, cooperative and adaptive algorithms, and the application of machine learning in optimization. This book is a versatile and rich source of information, well-suited for anyone involved or interested in the dynamic field of optimization.

How this book is organized: a roadmap

The book is divided into 5 parts and 12 chapters with 3 appendices, 114 code listings and several projects, and more than 140 exercises and their solutions.

  • This book will guide you through the realms of optimization algorithms, beginning with deterministic graph search algorithms in part 1, where foundational concepts and techniques are covered.
  • Part 2 progresses into trajectory-based algorithms like simulated annealing and tabu search, applying them to diverse problems.
  • In part 3, the focus shifts to evolutionary computing algorithms, delving into genetic algorithms and their applications.
  • Part 4 explores swarm intelligence algorithms, including particle swarm optimization, ant colony optimization, and artificial bee colony algorithms, demonstrating their nature-inspired problem-solving capabilities.
  • Part 5 converges on machine learning–based methods, bridging machine learning and optimization to address complex problems using techniques like self-organizing maps, graph machine learning, and reinforcement learning.
  • Appendix A guides you in setting up the Python environment and introduces various mathematical programming solvers, graph and mapping libraries, metaheuristics optimization libraries, and machine learning libraries.
  • Appendix B provides resources on optimization test functions, combinatorial optimization datasets, geospatial data, and machine learning datasets.
  • Appendix C offers a comprehensive set of exercises and solutions, organized chapter-wise.

For readers looking to grasp the core concepts of search and optimization algorithms, I recommend starting with part 1, which lays the foundation. Afterward, you are free to explore the subsequent chapters in any order that aligns with your interests. Each chapter is crafted to stand on its own, providing flexibility in your learning journey.

A crucial aspect of this learning process is actively engaging with the included code listings. By experimenting with and tuning the algorithm parameters, you’ll gain practical insights into and a deeper understanding of the subject matter. Additionally, I encourage you to attempt the exercises provided in appendix C, as they are designed to reinforce your knowledge. If you encounter difficulties, the solutions are included, offering guidance and helping you overcome any obstacles. This hands-on approach is essential for a thorough and rewarding learning experience.

About the code

This book is enriched with an extensive array of source code presented in numbered listings, numerous practical projects, and exercises (along with their solutions). It utilizes state-of-the-art Python libraries in the code listings to ensure a contemporary and effective learning experience. All of this code, which is implemented in the form of Python Jupyter notebooks — a web-based interactive computing platform — is readily available for download from the book’s GitHub repository: https://github.com/Optimization-Algorithms-Book/Code-Listings. This setup not only facilitates an interactive and engaging learning process but also allows you to directly experiment with and modify the code. Note that the book is structured with the assumption that you have Python 3.6 or a newer version installed on your system.

You can also get executable snippets of code from the liveBook (online) version of this book at https://livebook.manning.com/book/optimization-algorithms. The complete code for the examples in the book is available for download from the Manning website at www.manning.com.

Final thoughts

My 25 years working as an AI and Robotics professor in academia and as a technical leader in industry have given me a wealth of experiences to share with you. Throughout this book, a wealth of examples and in-depth case studies are provided for both novices and experts. These examples and case studies are thoroughly explained and put into practice with cutting-edge Python libraries dedicated to search and optimization.
I hope that this book, which traverses the vast landscape of optimization algorithms, serves as a valuable guide and resource in your journey. Whether you are a novice or an expert, the insights you’ll gain from this comprehensive exploration of various algorithms and their application to real-world problems can empower you to make impactful decisions and innovate in various domains. The field of optimization is continuously evolving, and with this book, you are equipped not just to keep pace with its advancements but also to contribute to shaping the future of this dynamic and critical discipline. Let the knowledge you gain here inspire you to tackle new challenges, forge new paths, and realize the immense potential that lies in optimization.

For more information, please visit:

--

--

Alaa Khamis
AI4SM
Editor for

AI and Smart Mobility Technical Leader at General Motors Canada | Former Professor of AI and Robotics