This highly informative and carefully presented textbook introduces the general principles involved in system design and optimization as applicable to thermal systems, followed by the methods to accomplish them. It introduces contemporary techniques like Genetic Algorithms, Simulated Annealing, and Bayesian Inference in the context of optimization of thermal systems. There is a separate chapter devoted to inverse problems in thermal systems. It also contains sections on Integer Programming and Multi-Objective optimization. The linear programming chapter is fortified by a detailed presentation of the Simplex method. A major highlight of the textbook is the inclusion of workable MATLAB codes for examples of key algorithms discussed in the book. Examples in each chapter clarify the concepts and methods presented and end-of-chapter problems supplement the material presented and enhance the learning process.