Math 171A (Winter 2023)

Problems in all areas of mathematics, applied science, engineering, economics, medicine and statistics can be posed as optimization problems. An optimization problem begins with a set of independent variables , and often includes conditions or restrictions that define acceptable values of the variables. Such restrictions are known as the constraints of the problem. The other essential component of an optimization problem is a single measure of ``goodness'', termed the objective function, which depends in some way on the variables. The solution of an optimization problem is a set of allowed values of the variables for which the objective function assumes its ``optimal'' value. In mathematical terms, this usually involves maximizing or minimizing.

For historical reasons, the subject is often also known as mathematical programming. However, it must be emphasized that mathematical programming has no direct connection with computer programming.

Math 171A is an upper-division course that is primarily concerned with linear programming, which involves the minimization of a linear function subject to linear constraints. Topics covered in this course include the geometry of a linear program, optimality conditions, the simplex method for problems in all-inequality and standard form, linear programming duality, interior methods, and selected applications in engineering and data science.

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 18, Math 20C.

Class guidelines:

instructor email office hours lectures
Philip Gill Monday, Wednesday 10:30a – 11:30a
AP&M' 5872 
MWF 1p – 1:50p
Ledden Auditorium, 2250
teaching assistant email office hours Wednesday discussion section(s)
Kehan Long Wednesday 4p-5p in person A01   AP&M 6402  5p
Xiaomeng Hu Wednesday 4p-5p in person A02   AP&M 6402  6p
Chuqing Shi Tuesday 7p-8p via Zoom
Friday 3p-4p via Zoom
A03, A04   via Zoom  7p, 8p
Yumeng Zhu Tuesday 3p-4p in person
Wednesday 2p-3p via Zoom
A05, A06   WLH 2208   6p, 7p



Lecture slides:
Download lecture slides from the class calendar.

Class text and Matlab guide:
The class text is available here. The login/password is your UCSD login name (lowercase) and PID (uppercase) (e.g., 'pgill', 'A12345678').
A brief introduction to basic Matlab commands is available here.

Written assignments:

Programming assignments:

Matlab m-files:


Important Dates:

  • Mon January 9: First lecture
  • Mon January 30: Midterm 1
  • Fri March 3: Midterm 2
  • Fri March 24 (11:30a – 2:29p): Final exam
  • UCSD Enrollment Calendar

Grades: Course grades will be computed from the best of the following two formulas

  • homework assignments (20%), two midterm examinations (20% each), and the final examination (40%), OR
  • homework assignments (20%), best midterm examination (20%), and the final examination (60%).

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 "Linear Programming Notes" by Philip E. Gill, Walter Murray 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:
The midterm examinations will be held in class on the designated days.

Final examination:
Final examination is scheduled for Friday March 24th from 11:30a to 2:30p in the Ledden Auditorium. 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 from canvas. 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. Upload your written assignments to Gradescope from Canvas.

Week # Monday Tuesday Wednesday Thursday Friday
1 1/9
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 1/16
Martin Luther King Jr. Holiday
lec 4
lec 4 (4x1) | lec 4 (2x1) Sections
lec 5
lec 5 (4x1) | lec 5 (2x1) HW1/MW1 due by 11:59pm
3 1/23
lec 6
lec 6 (4x1) | lec 6 (2x1)
lec 7
lec 7 (4x1) | lec 7 (2x1) Sections
lec 8
lec 8 (4x1) | lec 8 (2x1) HW2/MW2 due by 11:59pm
4 1/30
No lecture
Midterm 1
lec 9
lec 9 (4x1) | lec 9 (2x1) Sections

lec 10
lec 10 (4x1) | lec 10 (2x1) HW3/MW3 due by 11:59pm
5 2/6
lec 11
lec 11 (4x1) | lec 11 (2x1)
Lecture 12

Lecture 13

HW4/MW4 due by 11:59pm
6 2/13
Lecture 14

Lecture 15

Lecture 16

7 2/20
President's Day Holiday
Lecture 17

Lecture 18

8 2/27
Lecture 19

Lecture 20

No Lecture
Midterm 2
9 3/6
Lecture 21

Lecture 22

Lecture 23

10 3/13
Lecture 24

Lecture 25

Lecture 26


Final exam
11:30a – 2:30p