This course introduces fundamental principles and methods for optimization, which plays a central role in a variety of engineering problems. Our main focus is on convex programs, a class of optimization problems with a special, yet commonly-encountered structure, that everyone who uses computational mathematics will benefit from knowing about.
Specifically, the course is designed to give the graduate student thorough knowledge about how to formulate, recognize, solve and interpret the solution of convex programs. Representative list of topics includes: convexity, first/second -order optimality conditions, linear/quadratic/cone programs, duality and KKT conditions, first/second -order methods, ADMM. General concepts will be illustrated through applications in machine learning, statistics and signal processing.
Students entering the class should have a solid background in linear algebra and basic real analysis. A working knowledge of basic statistics and probability is also encouraged, although not necessary.