  This material provides thorough tutorials on some optimization techniques
frequently used in various engineering disciplines, including convex
optimization, linearization techniques and mixed-integer linear programming,
robust optimization, and equilibrium/game problems. It discusses how to
reformulate a difficult (non-convex, multi-agent, min-max) problem to a
solver-compatible form (semidefinite program, mixed-integer linear program) via
convexification, linearization, and decomposition, so the original problem can
be reliably solved by commercial/open-source software. Fundamental algorithms
are not the main focus. This material is a good reference for self-learners who
have basic knowledge in linear algebra and linear programming. It is one of the
main references for an optimization course taught at Tsinghua University.
