1. Quick Links
2.
Course Overview, People, Resources
The course concerns the formulation and analysis of algorithms for
continuous and discrete optimization problems; linear
and nonlinear optimization; large-scale problems;
software packages and their implementation; duality theory and sensitivity.
Here is a tentative course outline
Instructor:
Uri Ascher,
ICCS 223, ascher@cs.ubc.ca.
Teaching assistants:
Edwin Chen (edwinchenyj@gmail.com)
Yasha Pushak (ypushak@cs.ubc.ca)
Jimmy Chen (jhchen14@cs.ubc.ca)
Office hours:
- Uri: By email appointment
- Edwin: Tuesday 5pm to 6pm in room ICCSX141
- Yasha: Wednesday 10am to 11am in room ICCSX139
- Jimmy: Friday 10:30am to 11:30am in room ICCSX141
Prerequisites:
-
In principle, one of
CPSC 302, CPSC 303, or MATH 307. But more importantly:
-
In practice,
-
comfortable with numerical linear algebra (eg, CPSC 302)
-
multivariate calculus
-
comfortable with Matlab
Intended audience: Advanced undergraduate students
specializing in computer science, mathematics, or engineering. This course is also appropriate
for graduate students.
Course material:
Slides and Matlab scripts, as well as
text-style course notes, will be made available as the term
proceeds.
Recommended readings:
- Griva, Nash, and Sofer,
Linear and Nonlinear
Optimization (2009)
-
Luenberger and Ye, Linear and nonlinear programming (2008). A free PDF is
available online to UBC students, from the UBC library.
-
Boyd and Vandenberghe, Convex optimization (2004).
A free PDF is available online
- Grant and Boyd, CVX
Users' Guide (2008)
- Nocedal and Wright, Numerical Optimization (2006).
A free PDF is available online.
- Ascher and Greif, A First
Course in Numerical Methods (2011). It is available online
to UBC students, from the UBC library.
Homework. There will be
five or six
assignments throughout the term.
You are encouraged to collaborate with other students in the course, but you must hand in your own
assignments. Most homeworks will involve small programming tasks in Matlab.
Please review the
policies
on homework submission, late days and collaboration.
Grading scheme (tentative).
Your grade will be determined approximately by the following scheme:
- assignments: 40%
- midterm exam: 20%
- final exam: 40%
Note, however, that you are required to comply with reasonable minimal coursework
requirements, and failing to do so may result in an average lower
than the average computed by the above formula.
Failing to hand in several of the homework assignments or to write the midterm exam
without a justified reason
may result in ineligibility to write the final exam, regardless of your
average.
The instructors reserve the right to modify the grading scheme at any time if necessary.
Midterm Exam.
The midterm exam will take place in class on Thursday, October 20.
-
There is no make-up midterm exam. If you miss the midterm exam, you must
set up a personal appointment with the course instructor
as soon as possible, and provide a justified and documented
reason for missing the exam.
3. Additional Links and Resources
Matlab is a product of Mathworks. The best way to get started is
probably with their own guides, which can be found on their
website.
A couple of other resources, with many additional links:
To get started with CVX
The Scientific Computing Laboratory
The Scientific Computing and Applied & Industrial Mathematics group at UBC (SCAIM).