Bookshelf
A selection of books that have shaped my thinking in mathematical optimization, algorithms, and computing.
1. Williams — Model Building in Mathematical Programming
Real-world problems often begin with a simple question: what should we decide, and under which constraints? This book shows how problems in production, planning, scheduling, resource allocation, and logistics can be translated into mathematical models through variables, constraints, and objectives, while developing effective formulations that remain both meaningful and computationally useful.
2. Korte & Vygen — Combinatorial Optimization: Theory and Algorithms
Once a problem is modeled, the next step is to understand and exploit its combinatorial structure. Through classical problems such as shortest paths, spanning trees, network flows, and matchings, this book develops efficient algorithms and introduces ideas around complexity, NP-hard problems, and approximation methods when exact solutions become difficult to obtain.
3. Wolsey — Integer Programming
Many real-world decisions are naturally discrete: assign or not, select or not, schedule here or there. This book explores how Integer and Mixed-Integer Programming models can be solved through LP relaxations, strong formulations, branch-and-bound, cutting planes, preprocessing, and heuristics, connecting mathematical modeling with the techniques behind modern MIP optimization.
4. Hager & Wellein — Introduction to High Performance Computing for Scientists and Engineers
As algorithms and problem instances grow, finding a good solution is only part of the challenge—computing it efficiently and at scale becomes equally important. This book explores modern processor architectures, memory hierarchies, multicore computing, performance modeling, OpenMP, and MPI, providing practical foundations for improving the performance and scalability of scientific and engineering applications.
5. Hastie, Tibshirani & Friedman — The Elements of Statistical Learning: Data Mining, Inference, and Prediction
Real-world decisions increasingly depend not only on models, but also on what can be learned from data. This book explores regression, classification, regularization, model selection, trees, boosting, random forests, SVMs, and unsupervised learning, providing a foundation for turning historical data into predictions and insights that can support forecasting, planning, and optimization.
6. Nielsen & Chuang — Quantum Computation and Quantum Information
Beyond high-performance classical computing and data-driven methods comes a fundamentally different way of thinking about computation. Starting from qubits, superposition, entanglement, quantum gates, circuits, and measurement, this book builds toward quantum algorithms, quantum information, and error correction, providing the foundations for understanding both the potential and limitations of quantum computation.