The book presents a significant expansion in depth and breadth of the previous edition. It includes substantially more numerical illustrations and copious supporting MATLAB code that the reader can use to replicate illustrations or build his or her own. The code is deliberately written to be as simple as possible and easy to edit. The book is an excellent starting point for any researcher to gain a solid grounding in MPC concepts and algorithms before moving into application or more advanced research topics. Sample problems for readers are embedded throughout the chapters, and in-text questions are designed for readers to demonstrate an understanding of concepts through numerical simulation.