ECE285, Winter 2024 – Semidefinite and Sumofsquares Optimization(This is the Winter 2024 version of this course. For previous version, click here) Lectures: Tuesdays/Thursdays 3:30 pm 4:50 pm PST Location: WLH 2207 Instructors:
Office hours:
Syllabus: ECE285 Course descriptionConvex optimization has profound impacts on many problems in control theory, discrete and nonlinear optimization, theoretical computer science, and machine learning. It is a fundamental tool to ensure efficient, resilient, and safe operations of many engineering systems, such as smart power grid, transportation, robotics, and many others. Optimization in these areas often takes the form of conic optimization, especially semidefinite programs. This course will cover semidefinite optimization which is a farreaching generalization of linear programs. Another emphasis of the course will be on sumofsquares optimization that deals with optimization problems involving polynomials. Some classical applications in control and recent ones in machine learning will be covered too. A tentative list of topics that we will cover include
The students are expected to sign up on Piazza and GradeScope. Discussions and important announcements will happen on Piazza. The homework should be turned in and will be graded on GradeScope. PrerequisitesThis course assumes basic knowledge in linear algebra. Some knowledge of convex optimization will be useful. Mathematical maturity, familiarity with MATLAB, Python, or similar software. Course grade
These weights are approximate; we reserve the right to change them later. The due date of each homework and project assignment will be clearly stated. We expect you to turn in all completed problem sets on time. Late submissions and deadline extensions will not be possible because our schedule is very tight. Collaboration policy: You are encouraged to work with other students on lecture notes, homework sets, general discussions of projects. But please note that the work you turn in should be your own! It is not acceptable to copy a solution that someone else has written. Instances of academic dishonesty will be referred to the Office of Student Conduct for adjudication. SoftwareYou will use one of YALMIP (Matlab), CVX (Matlab), CVXPY (Python) or CVXOPT (Python), to write simple scripts for homework questions. References
Academic IntegrityUCSD's Code of Academic Integrity applies to this course. It is dishonest to cheat on exams, copy other people's work, or fake experimental results. An important element of academic integrity is fully and correctly acknowledging any materials taken from the work of others. Instances of academic dishonesty will be referred to the Office of Student Conduct for adjudication. AcknowledgmentsThe design of this course is inspired by the following excellent courses
