The course concentrates on recognizing and solving convex optimization problems that arise in applications. Topics addressed include the following. Convex sets, functions, and optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance.
to give students the tools and training to recognize convex optimization problems that arise in applications.
to present the basic theory of such problems, concentrating on results that are useful in computation.
to give students a thorough understanding of how such problems are solved, and some experience in solving them.
to give students the background required to use the methods in their own research work or applications.
This course should benefit anyone who uses or will use scientific computing or optimization in engineering or related work (e.g., machine learning, finance). More specifically, people from the following departments and fields: Electrical Engineering (especially areas like signal and image processing, communications, control, EDA & CAD); Aero & Astro (control, navigation, design), Mechanical & Civil Engineering (especially robotics, control, structural analysis, optimization, design); Computer Science (especially machine learning, robotics, computer graphics, algorithms & complexity, computational geometry); Operations Research; Scientific Computing and Computational Mathematics. The course may be useful to students and researchers in several other fields as well: Mathematics, Statistics, Finance, Economics.
Good knowledge of linear algebra and exposure to probability. Exposure to numerical computing, optimization, and application fields helpful but not required; the applications will be kept basic and simple. You will use matlab and CVX to write simple scripts, so some basic familiarity with matlab will be required. Many good matlab tutorials are available online.
Course requirements and grading
Weekly course videos. Every week we will asign a number of videos you are expected to watch at your own pace throughout the week. Video topics are correlated with the textbook.
Weekly readings. The material presented in the videos you will watch is also covered in the textbook. Each week we will assign the corresponding chapter or sections.
Video quizzes. After each video you will be asked a number of quiz questions on the topics you have just covered. Most of these questions are there to help you understand the basics. Some will be very straightforward while others may be a little more involved. Each answer is worth one point, and you can attempt each of them twice. Quizzes contribute 10% of the final score.
Homework assignments. You will be given a total of eight homework assignments, each consisting of about six problems. Just as quiz questions, many of the problems will be multiple choice. Beware, as they require much deeper analysis and better understanding of the material. To solve other problem types you will need to write short MATLAB scripts and use the CVX toolbox. Mathworks has kindly agreed to distribute a free licence for all students enrolled in this class. Each homework answer is worth 10 points, and you can attempt every problem twice. Homeworks contribute 90% of the final score.
Statement of Accomplishment. In order to obtain the Statement of Accomplishment you will need to obtain at least 50% of the total number of points.
The textbook is Convex Optimization.