Math 171B (Spring 2019)

Math 171B is an upper-division course introducing students to the field of mathematical optimization, in particular, the area of nonlinear optimization (historically known as nonlinear programming). Topics covered in this course include the geometry of nonlinear programming, optimality conditions, the method of steepest descent, Newton's method, penalty function methods, augmented Lagrangian methods, interior methods.

Some programming experience is recommended. Some homework assignments will require the use of Matlab.

The aim of the class is for students to

Prerequisites: Math 171A.

instructor email office hours lectures
Philip Gill Monday, Wednesday 2:15p – 3:15p
APM 5872
MWF 1p – 1:50p
Center Hall 214
teaching assistant email office hours Monday discussion section(s)
Minxin Zhang Tuesday 1p – 3p;
APM 6446
A01 (5p in APM B402A)
Fangyao Su Monday 3:30p – 5p;
Friday 4p – 6:30p;
APM 6452
A02, A03 (6p, 7p in APM B402A)



Lecture slides:
Download lecture slides from the class calendar.

Class text:
The class text is available here. The login/password is your UCSD login name (lowercase) and PID (uppercase) (e.g., 'pgill', 'A12345678').

Written assignments:

Programming assignments:

Matlab m-files:

Important Dates:

  • Mon Apr 1: First lecture
  • Fri Apr 26: Midterm 1
  • Fri May 24: Midterm 2
  • Thu Jun 13 (11:30a – 2:30p): Final exam
  • UCSD Enrollment Calendar

Course grades are based on homework assignments (20%), two midterm examinations (20% each), and the final examination (40%).

Letter grades will be assigned based on the following scale: A+ > 99%, A > 93%, A- > 90%, B+ > 87%, B > 83%, B- > 80%, C+ > 77%, C > 72%, C- > 70%. I reserve the right to lower the scale (that is, any change to the scale will either improve your grade or leave it unchanged).

There is no required textbook for this course. A copy of "Nonlinear Programming Notes" by Philip E. Gill and Margaret H. Wright will be made available to enrolled students. Please do not distribute or repost these notes.

Written assignments:
Students will turn in written homework assignments via gradescope. See gradescope's help center for directions on submitting assignments. Written assignments can be hand-written or typed (e.g., via LaTeX). Please try to write neatly and clearly indicate the start of each problem. Remember to write your name and ID number.

Programming assignments:
Some homework assignments will require the use of Matlab. Students will be required to submit extracts of their Matlab sessions as part of their written homework assignments. All enrolled students can obtain access to Matlab at

Assignment due dates:
Due dates will be indicated in the course calendar and on the assignments.

Midterm examinations:
Midterm examinations will be held in class.

Final examination:
Final examination is scheduled for Thursday June 13 from 11:30a to 2:30p (location TBA). The final will cover all material presented during the quarter.

Regrade Policy:
It is the responsibility of the student to check graded assignments and examinations and to check that there are no errors or discrepancies. After exams and assignments are returned, students should look over them. Any errors or discrepancies should be brought to the attention of the instructor or the teaching assistant immediately. As this course is using gradescope, regrade requests should be submitted via gradescope. However, regrade requests should be submitted in a timely manner (preferably within one week from the grades being released). Requests that arrive excessively late will be handled at the discretion of the course staff.

The login and password are your UCSD login name (lowercase) and PID (uppercase) (e.g., 'pgill', 'A12345678').

You can download written assignments below. Submit the written assignments via

# Monday Tuesday Wednesday Thursday Friday
1 4/1
lec 1
lec 1 (4x1) | lec 1 (2x1)
lec 2
lec 2 (4x1) | lec 2 (2x1)
lec 3
lec 3 (4x1) | lec 3 (2x1)
2 4/8
lec 4
lec 4 (4x1) | lec 4 (2x1)

lec 5
lec 5 (4x1) | lec 5 (2x1)
lec 6
lec 6 (4x1) | lec 6 (2x1)

HW1 due by 11pm
3 4/15
lec 7
lec 7 (4x1) | lec 7 (2x1)

lec 8
lec 8 (4x1) | lec 8 (2x1)

HW2 due by 11pm
lec 9
lec 9 (4x1) | lec 9 (2x1)
4 4/22
lec 10
lec 10 (4x1) | lec 10 (2x1)

lec 11
lec 11 (4x1) | lec 11 (2x1)

HW3 due by 11pm
Location: Center Hall 214
5 4/29
lec 12
lec 12 (4x1) | lec 12 (2x1)

lec 13
lec 13 (4x1) | lec 13 (2x1)
lec 14
lec 14 (4x1) | lec 14 (2x1)
6 5/6
lec 15
lec 15 (4x1) | lec 15 (2x1)

lec 16
lec 16 (4x1) | lec 16 (2x1)

HW4 due by 11pm
lec 17
lec 17 (4x1) | lec 17 (2x1)
7 5/13
lec 18
lec 18 (4x1) | lec 18 (2x1)

lec 19
lec 19 (4x1) | lec 19 (2x1)

HW5 due by 11pm
lec 20
lec 20 (4x1) | lec 20 (2x1)
8 5/20
lec 21
lec 21 (4x1) | lec 21 (2x1)

lec 22
lec 22 (4x1) | lec 22 (2x1)

HW6 due by 11pm
Location: Center Hall 214
9 5/27
lec 23
lec 24
10 6/3
lec 25

HW7 due by 11pm
lec 26
lec 27

HW8 due by 11pm
Finals 6/13
final exam
11:30a – 2:30p
Location: Center Hall 214