Computational Optimization

CPSC 406 Term 2 of 2024/25

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 UBC Canvas for times and locations.

Teaching staff

Course requirements

Prerequisites

  • Completion of one of the following courses:
    • CPSC 302 (Numerical Computation for Algebraic Problems)
    • CPSC 303 (Numerical Approximation and Discretization)
    • MATH 307 (Applied Linear Algebra)
  • Proficiency in applied linear algebra and multivariate calculus
  • Experience in numerical computing using a language such as Julia, Matlab, or Python

Programming language

This courses uses Julia exclusively.

Required reading

Course materials

  • Some lecture notes and additional resources will be provided on the course website.

Primary texbook

Supplementary reading

Discussion board and announcements

A student discussion board is hosted on Canvas. All course announcements, including upcoming exams and homework deadlines, will appear on Canvas. Set your Canvas notifications appropriately.

Grade distribution

  • Assignments (7-8): 30%
  • 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.