EE364: Convex Optimization with Engineering Applications
Stanford University, Winter quarter 2002-03
next taught Winter quarter 2004-05
Announcements
Lecture notes
- Introduction (ps/pdf)
- Convex sets (ps/pdf)
- Convex functions (ps/pdf)
- Convex optimization problems (ps/pdf)
- Linear and quadratic problems (ps/pdf)
- Geometric and semidefinite programming (ps/pdf)
- Duality (ps/pdf)
- Smooth unconstrained minimization (ps/pdf)
- Sequential unconstrained minimization (ps/pdf)
- Data fitting and estimation (ps/pdf)
- Geometrical problems (ps/pdf)
- Filter design (ps/pdf)
- Problems in VLSI design (ps/pdf)
- Ellipsoid method (ps/pdf)
- Subgradients (ps/pdf)
- Conclusions (ps/pdf)
top of ee364 page
Textbook
The textbook is available at the Stanford Bookstore, as the Reader for EE364, and also as a pdf file, at the link www.stanford.edu/~boyd/cvxbook.html. top of ee364 page
Homework
All exercises are from the course reader (textbook), unless otherwise noted. - Homework 1: 2.4, 2.7, 2.8, 2.9, 2.12, 2.13, and 2.28, due Thursday 1/16/03.
- Homework 2: 3.2, 3.7, 3.13, 3.15, 3.16, 3.24, and 3.34 in course reader, due Thursday 1/23/03. (Problems 3.16, 3.24, and 3.34 are long; if you can't do them all, then do as much as you can.)
- Homework 3: 3.43, 3.46, 3.51, 4.1, 4.3, 4.8, 4.9 and 4.11 in course reader, due Thursday 1/30/03.
- Homework 4: 4.4, 4.12, 4.16, 4.25, and 4.29 in the course reader, and an additional problem, due Thursday 2/6/03.
- Homework 5: 4.28, 4.31, 4.32, 4.34 4.35, 4.38, 4.41, 4.45 and 4.54 in the course reader, and two additional problems, due Thursday 2/13/03.
- Homework 6: 5.1, 5.3, 5.4, 5.5, 5.11, 5.14, and 5.35 in the course reader, and two additional problems, due Thursday 2/20/03.
- Homework 7: 5.18, 5.39, 9.6, 9.9, 9.13, and 9.16 in the course reader, and two additional problems, due Thursday 2/27/03.
- Homework 8: 6.3, 6.4a, 6.4d, 6.5, 6.7, and 6.8 in the course reader, and one additional problem, due Thursday 3/6/03.
- Homework 9: 7.1, 7.2, 7.3, 8.4, 8.5, and 8.13 in the course reader, due Thursday 3/13/03.
top of ee364 page
top of ee364 page
Some articles that might be interesting or useful, mostly later on in the course. Convex optimization
Analog and digital circuit design
Signal processing and communications
Control system analysis and design
top of ee364 page
Basic course information
Credit: 3 units. Can be taken Credit/No Credit. Lectures: Tuesdays and Thursdays, 9:30-10:45, Gates B03. EE364 will be broadcast live by SCPD on channel E5, and available via streaming video from Stanford Online. Videotapes of lectures will be available in Terman Library.
Section meeting: Friday 3:15-4:05pm, McCullough 115, Live on E2, and available via streaming video from Stanford Online.
Professor: Stephen Boyd, Packard 264, (650) 723-0002, boyd@stanford.edu
Office hours: Tuesdays 10:45-12:30pm.
Administrative assistant: Denise Murphy, Packard 262, 723-4731, Fax 723-8473, denise@ee.stanford.edu
Teaching Assistants:
TA office hours & location: Tuesday 5:00-7:00pm, Wednesday 6:00-8:00pm, Packard 109
Textbook and optional references: The textbook or course reader is available on the course web site. Some good books that can serve as secondary reference texts are
- D. Bertsekas, Nonlinear Programming, Athena Scientific
- D. Luenberger, Linear and Nonlinear Programming, Addison-Wesley.
- J. Nocedal and S. Wright, Numerical Optimization, Springer.
These books will be on reserve at Terman library, but you won't need to consult them unless you want to. Course requirements:
- Challenging weekly homework assignments, which involve some Matlab programming (no previous knowledge of Matlab is necessary).
- Take home final exam
Homework: assigned each week, and due the following week. You are allowed, even encouraged, to work on the homework in small groups, but you must write up your own homework to hand in. Grading: homework 30%, final 70%. These weights are approximate; we reserve the right to change them later.
Prerequisites: Good knowledge of linear algebra (EE263) and willingness to program in Matlab. Exposure to numerical computing, optimization, and application fields helpful but not required; the engineering applications will be kept basic and simple.
top of ee364 page
Course description
Convex optimization arise frequently in engineering problems but often go unrecognized. That is a pity since there is a substantial and useful theory for such problems, and they can be (numerically) solved very efficiently. This course will concentrate on the latter advantage, i.e., our ability to solve such problems efficiently by computer. Catalog description: Concentrates on recognizing and solving convex optimization problems that arise in engineering. Convex sets, functions, and optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Localization methods, e.g., cutting-plane, ellipsoid algorithms. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, control, digital and analog circuit design, computational geometry, statistics, and mechanical engineering.
Course objectives:
- to give students the tools and training to recognize convex optimization problems that arise in engineering
- 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 or engineering work
Intended audience: Anyone who uses or will use scientific computing or optimization in engineering or related work (e.g., finance). More specifically, people from the following departments / fields: Electrical Engineering, especially areas like signal and image processing, communications, control, EDA & CAD. Aero & Astro, Mechanical & Civil Engineering, especially robotics, control, structural analysis, optimization, & design. Computer Science, especially robotics, computer graphics, algorithms & complexity, computational geometry. Operations Research and Engineering-Economic Systems. Scientific Computing and Computational Mathematics. The course may be useful to students and researchers in several other fields as well: Mathematics, Statistics, Finance, Economics. top of ee364 page