Course Description
This course introduces advanced optimization theory and algorithms with rapidly growing applications in machine learning, systems, and control. Methods are given to obtain a non-dynamic system's extremum (minimum or maximum) and use these methods in various engineering applications. This course aims to prepare graduate students with a solid theoretical and mathematical foundation and applied techniques at the intersection of optimization, algorithms, and machine learning to conduct advanced research in related fields. Students will gain expertise in designing algorithms based on common techniques, dealing with intractable problems, and implementing algorithms given the description. Students must undertake a semester-long project (at Google Colab) that practices the optimization theory and algorithms in their areas of interest. These projects can replicate or improve a known solving strategy for a given optimization problem to assess and compare the performance.