Computational Optimization
This course covers the main algorithms for continuous optimization, including unconstrained and constrained problems, and duality theory and sensitivity. Because linear algebra is central to the subject, the course also covers the main numerical linear algebra operations needed in optimization.
Lectures
See Piazza (via UBC Canvas) for times and locations.
Teaching staff
- Instructor: Michael P. Friedlander
- Teaching assistants and office hours announced on Piazza (via UBC Canvas)
Course requirements
One of the following courses are required: CPSC 302 (Numerical Computation for Algebraic Problems), CPSC 303 (Numerical Approximation and Discretization), or MATH 307 (Applied Linear Algebra). You should be comfortable with an the main topics in applied linear algebra, multivariate calculus, and have experience in a numerical computing using a language such as Julia, Matlab, or Python.
This courses uses Julia exclusively.
Required reading
The course is based on a variety of sources, including lecture notes provided on these pages and these two books:
- Introduction to Nonlinear Optimization: Theory, Algorithms, and Applications with MATLAB by Amir Beck, First Edition (Springer, 2014)
- Algorithms for Optimization by Mykel J. Kochenderfer and Tim A. Wheeler (MIT Press, 2019)
Discussion board and announcements
A student discussion board is hosted on Piazza (see Canvas). All course announcements, including upcoming exams and homework deadlines, will appear on Piazza. Set your Piazza notifications appropriately.
Grade distribution
- Assignments (8): 30% (including up to 5% for clicker participation)
- Midterm exam: 30%
- Final exam: 40%
Policies
- No makeup exam for the midterm or final. If you missed the midterm exam you must document a justification.
- To pass the course you must do the assigned coursework, write the midterm and final exams, pass the final exam, and obtain an overall pass average according to the grading scheme.
- The instructors reserve the right to modify the grading scheme at any time.