Many design problems in engineering (e.g., machine learning, finance, circuit design, etc.) involve minimizing (or maximizing) a cost (or reward) function. However, solving these problems analytically is often challenging. Optimization is the study of algorithms and theory for numerically solving such problems, and it underpins many of the technologies we use today.
This course is an introduction to optimization. Students will: (1) learn about common classes of optimization problems, (2) study (and implement) algorithms for solving them, and (3) gain hands-on experience with standard optimization tools. We will focus on convex optimization problems, but will also discuss the growing role of non-convex optimization, as well as some more general numerical methods. The course will emphasize connections to real-world applications including machine learning, networking, and finance. The course will involve lectures, homework, exams, and a project.
This course is crosslisted with 18-660. ECE graduate students will be prioritized for 18-660, and ECE undergraduate students will be prioritized for 18-460. Although students in 18-460 will share lectures with students in 18-660, students in 18-460 will receive distinct homework assignments, distinct design problems, and distinct exams from the ones given to students in 18-660. Specifically, the homework assignments, design problems and exams that are given to the 18-660 students will be more challenging than those given to the 18-460 students.
Last Modified: 2020-12-01 10:50AM
This course is currently being offered.
- Spring 2021
- Spring 2019
- Spring 2018