E4650 Convex Optimization for Electrical Engineering
Department of Electrical Engineering, Columbia University
This is the Fall’20 course homepage for EEOR E4650: Convex Optimization for Electrical Engineering. Note: The official name for the course is “Convex optimization for electrical engineering”. However, the course is suitable for any student within SEAS (or beyond) provided you satisfy the math prerequisite. Basic information
OverviewCourse descriptionYou will learn to recognize and solve convex optimization problems that arise in applications spanning engineering, mathematics, and computer science. The course can be divided into four parts: theory; applications; algorithms; advanced topic. A tentative list of topics can be seen below in the schedule. Application areas we will consider include signal processing, statistics and machine learning, finance, energy systems, and optimal control. The advanced topic will involve applying the theory of linear matrix inequalities to a specific problem. Intended audienceThis course should benefit anyone who uses or will use scientific computing, data science, or optimization in engineering or related work (e.g., machine learning, finance). Within SEAS, people from the following departments and fields: Electrical Engineering (especially areas like signal processing, smart energy, communications, control); Applied Physics & Applied Math (numerical analysis, high performance computing), Civil Engineering & Engineering Mechanics (structural analysis, optimization, design); Computer Science (especially machine learning, computer graphics, algorithms & complexity, computational geometry); Mechanical Engineering (robotics, control, fluid mechanics); Industrial Engineering & Operations Research. The course may be useful to students and researchers in several other fields as well: Mathematics, Statistics, Finance, Economics. TextbookThis course closely follows Convex Optimization by Boyd and Vandenberghe, freely available here. The following books are useful as additional reference texts.
ScheduleThe tentative syllabus is set out below. Note that the current timetable is only a rough guide, and that there will be an in-class midterm which is not shown. Chapter numbers refer to the textbook Convex Optimization by Boyd and Vandenberghe.
Course organizationPrerequisitesStudents should be comfortable with basic linear algebra at the level of Chapter 2 of Laurent El Ghaoui's notes as well as basic probability. In addition, familiarity with basic programming will be necessary to complete some homework questions. One of CVX (Matlab), CVXPY (Python), CVXR (R), or Convex.jl (Julia) will be used to write simple scripts. No prior knowledge of CVX is assumed, a recitation on this topic will be provided. Graduate students are required to use LaTeX to typeset their homework (undergraduates are encouraged to use LaTeX, but it is not a requirement). Templates and examples are available on Courseworks. A recitation on using LaTeX will be given in week 1 or 2. Course requirements
Grading
HomeworkHomework is assigned most weeks, and due the following Friday by 6pm. All homework must be submitted via Courseworks. Late homework is not accepted However, you have 5 ‘‘late days’’ to use at your discretion. After these days have been used up no late homework will be accepted. Each question will be graded on a scale of {0,1,2,3}. Graduate students must typeset homework using LaTeX. A template has been provided on Courseworks, but feel free to create your own. Undergraduate students are encouraged to use LaTeX but may also submit handwritten solutions. Everybody should read the style guide (written by Stephen Boyd for his EE364a class at Stanford) before submitting homework assignments. You are allowed to work on homework in small groups, but the work you submit (including code) must be your own. |