This course introduces the fundamental theories and methods of optimization, including unconstrained and constrained optimization, convex analysis, gradient-based methods, Lagrangian duality, and more. It is widely applicable in machine learning, control, operations research, and applied mathematics.
Convex Optimization by Stephen Boyd and Lieven Vandenberghe
Online: https://web.stanford.edu/~boyd/cvxbook/