MA 421: Linear Programming And Optimization Techniques
Fall 2024, Purdue University
http://www.math.purdue.edu/~yipn/421
Course Description:
-
Solution of linear programming problems by simplex method,
duality theory,
transportation problems,
assignment problems,
network analysis,
dynamic programming
Instructor:
- Aaron Nung Kwan
Yip
- Department of
Mathematics
- Purdue University
Contact Information:
- Office: MATH 432
- Email and Phone:
click here
Lecture Times and Places:
- Section 001 (CRN 26170): T, Th 9:00am - 10:15am, SMTH 208
Office Hours:
-
T, W: 4:30pm - 6pm, MATH 432, or by appointment.
Occasionally, due to unexpected events, there is a need for online
meetings and lectures. These will be conducted in
Zoom.
You can also find this link in Brightspace MA421 course homepage
(upper left corner, second tab): Content/Course Materials.
This link will also be used in case you need to see me online.
Textbook:
-
Main Text (required):
[V] Linear Programming, Foundations and Extensions,
5th edition,
Robert J. Vanderbei, Springer.
Accessible
online from Purdue Library page, using Career account.
You are highly encouraged to make good use of the textbook by
reading it.
References (recommended reading):
[MG] Understanding and Using Linear Programming,
Jiri Matousek and Bernd Gartner, Springer.
Accessible
online from Purdue Library page, using Career account.
[C] Linear Programming, Vasek Chvatal.
Homework:
-
Homeworks will be assigned weekly, due usually on Thursday in class.
They will be gradually posted as the course progresses.
Please refer to the course announcement below.
- Steps must be shown to explain your answers.
No credit will be given for just writing down the answers, even
if it is correct.
- As a rule of thumb, you should only use those methods that have been
covered in class. If you use some other methods for the sake of
convenience, at our discretion, we might not give you any credit.
You have the right to contest. In that event,
you might be asked to explain your answer using only what
has been covered in class up to the point of
time of the homeworks or exams.
- Please staple all loose sheets of your homework to prevent
5% penalty.
- Please resolve any error in the grading
within one week after the return of each graded assignment.
- No late homework will be accepted (in principle).
- You are encouraged to discuss the homework problems with
your classmates but all your handed-in homeworks must be your
own work.
Examinations:
- Tests: Midterm (in class, date TBA, soon after
October Break)
- Final Exam: During Final Exam Week
No books, notes or electronic devices are allowed (nor needed) in
any of the tests and exam.
Grading Policy:
- Homeworks (50%)
- Midterm (20%)
- Final Exam (30%)
The following is departmental policy for the grade cut-offs:
97% of the total points in this course are guaranteed an A+,
93% an A,
90% an A-,
87% a B+,
83% a B
80% a B-,
77% a C+,
73% a C,
70% a C-,
67% a D+,
63% a D, and
60% a D-.
For each of these grades, it's possible that at the end of the semester a lower percentage will be enough to
achieve that grade.
You are expected to observe academic honesty to the
highest standard. Any form of cheating will automatically
lead to an F grade, plus any other disciplinary action,
deemed appropriate.
Nondiscrimination Statement:
-
This class, as part of Purdue University's educational endeavor, is committed to maintaining a
community which recognizes and values the inherent worth and dignity of
every person; fosters tolerance, sensitivity, understanding, and mutual
respect among its members; and encourages each individual to strive to
reach his or her own potential.
Student Rights:
-
Any student who has substantial reason to believe that another person is
threatening the safety of others by not complying with Protect Purdue
protocols is encouraged to report the behavior to and discuss the next
steps with their instructor. Students also have the option of reporting
the behavior to the
Office of the Student Rights and Responsibilities.
See also
Purdue University Bill of Student
Rights and the
Violent Behavior
Policy under University Resources in Brightspace.
Accommodations for Students with Disabilities and
Academic Adjustment:
- Purdue University strives to make learning experiences accessible to all
participants. If you anticipate or experience physical or academic barriers based
on disability, you are also encouraged to contact the
Disability Resource Center (DRC) at:
drc@purdue.edu or by phone at 765-494-1247.
If you have been certified by the DRC as eligible for accommodations, you should
contact me to discuss your accommodations as soon as possible.
See also Courses: ADA Information for further information from the Department of Mathematics.
Campus Emergency:
-
In the event of a major campus emergency or circumstances beyond the
instructor's control, course requirements, deadlines and grading
percentages are subject to change.
Check your email and this course web page for such information.
See also
Emergency Preparedness and Planning for campus wide updates.
More information on University Policies:
- See your MA421 course homepage in Brightspace.
Content (tab at upper left corner): Student Support and Resources, and
University Policies and Statements.
Course Outline (tentative):
-
I will at least cover sections from the following chapters of [V]:
Chapter 1, 2, 3, 5, 7, 11, 12, 14, 15
which touch upon simplex methods, duality, sensitivity and parametric
analysis, network flows and various applications.
Additional chapters will be covered based on time and interests.
Course Progress and Announcement:
- You should consult this section regularly,
for homework assignments, additional materials and announcements.
You can also access this page through
BrightSpace.
Some tips and comments.
NOTATION MATTERS!!!!!!!!!!!!!!!
A clear understanding of notations is one of the keys to
fullly appreciate mathematics.
READ THE TEXTBOOK!
Get used to how mathematics are formulated and presented.
My MOTTO on the use of technology
(which I use often):
IF TECHNOLOGY HELPS YOU UNDERSTRAND, BY ALL MEANS USE IT.
OTHERWISE, USE IT AT YOUR OWN RISK!
For the homework, I believe all the problems should be and can be
done by hand. In order to get full credit, sufficient steps must be
shown.
You are welcome to use technology to check your answers.
BEWARE THAT DURING THE TESTS AND EXAM,
NO TECHNOLOGY WILL BE ALLOWED.
Week 1 (Aug 20, 22):
[V, Chapter 1, 2];
[MG, Chapter 1, 2, 4, 5];
[C, Chapter 1, 2, 3].
Examples of linear programming;
Simplex method.
Examples of diet problems:
[MG],
[C].
Homework 1: due Thursday, Aug 29th, in class.
[V] (make sure you have the 5th Edition.)
Chapter 1, Exercises, p.8: #1.2;
Chapter 2, Exercises, p.21: #2.1, 2.2, 2.5, 2.10;
(Use simplex method to solve 2.1, 2.2, 2.5, following the procedure
in p.11-14. For 2.2 and 2.5, you also need to draw in R^2 the feasible
set and also the sequence of vertices you go through during the simplex
method. For your graphs, use one page for each problem. See p.21 for
an example of such a graph. For 2.10, you can use whatever method.
If you can "visualize" the geometry of the problem, even in R^4, then the
solution is extremely simple.)
Chapter 4, Exercises, p.57: #4.9
(Read [V, p.45] for a motivation of this problem.
One method of solution seems to be by mathematical induction,
though I haven't tried it myself.)
Week 2 (Aug 27, 29):
[V, Chapter 1, 2];
[MG, Chapter 1, 2, 4, 5];
[C, Chapter 1, 2, 3].
Examples of simplex method.
Choice of initial point, Phase I and Phase II.
Some pitfalls of simplex method:
- non-uniqueness [C] p.23;
- unboundedness;
- degeneracy;
- cycling; lexicographic method and Bland's rule.
Note: Examples of simplex method
Homework 2: due Thursday, Sept 5th, in class.
[C]
p.9: #1.2 (Use simplex method to solve the actual minimization problem.
In addition, can you think of a "simpler" method to solve this problem?
Recall [V] Chapter 2, p.21, #2.10.)
p.9: #1.3 (Prove by using simplex method AND also by graphing.)
p.26: #2.2;
p.44: #3.9(a);
[V] (make sure you have the 5th Edition.)
Chapter 3, Exercises, p.40: #3.4;
Chapter 3, For the cycling example in p.29, which step does the sequence
violate Bland rule? Then use Bland rule to fix the cycling problem and
find the optimal solution for this example.
Week 3 (Sept 3, 5):
[MG, Section 5.7] Pivoting rules:
Largest coefficient, largest increase, steepest slope, random, etc
[V, Chapter 4][C, Chapter 4][MG Section 5.9]
Efficiency of simplex method: average vs worst case analysis;
Klee-Minty example;
([MG, Chapter 7] Peek at other methods: ellipsoid and interior point methods.)
[V, Chapter 5][C, Chapter 5][MG, Chapter 6]
Duality, primal (P) and dual (D) problems;
Upper and lower bounds, duality gap, Weak Duality Theorem [V, Thm. 5.1].
Note: Efficiency of Simplex Method
Homework 3: due Thursday, Sept 12th, in class.
[C]:
Use Bland rule to do the cycling example in [C] p.31.
[V]:
Chapter 4: 4.1, 4.2, 4.3. (For each problem, provide graphical illustrations.)
Chapter 5: 5.1, 5.2, 5.3, 5.4.
You can use the pivoting app. provided by the texbook to aid your computations.
For 5.2, 5.3, 5.4, ``illustrate'' means that for any optimal solution of the
primal problem, find the optimal solution of the dual problem and verify that the
objective functional values of the primal and dual problems are the same.
Week 4 (Sept 10, 12):
[V, Chapter 5][C, Chapter 5][MG, Chapter 6]
Duality, primal (P) and dual (D) problems;
Complementary variables: x_j vs z_j, and w_i vs y_i;
Matrix representation of (P) and (D), preservation of negative transpose of
matrices during simplex iterations;
Stong Duality Theorem [V, Thm. 5.2];
Complementary Slackness [V, Thm. 5.3];
Certificate of Optimality.
Given (optimal) X, how to find (optimal) Y?
Note: Duality
Homework 4: due Thursday, Sept 19th, in class.
[V] (Re-)do Exercises #2.10, #3.4, #3.5 by considering their
dual problems;
[V] #5.6.
[C] Chapter 5, p.69, #5.3
Week 5 (Sept 17, 19):
Interpretation of duality: Cost vs profit.
Duality in general form.
Note: Duality of Diet Problem
Note: General Duality
See also:
Convex Optimization (Chapter 5),
by Boyd and Vandenberghe
The Theory of Linear Economic Models (Chapter 1), by Gale.
Homework 5: due Thursday, Sept 26th, in class.
[V] p.83: #5.12, 5.16
Week 6 (Sept 24, 26):
[V] Chapter 5: Simplex in matrix form.
[V] Chapter 6: Sensitivity analysis.
Note: Simplex in Matrix Form
Note: Sensitivity Analysis
Homework 6: due Thursday, Oct 3rd, in class.
[V] Exercises
Chapter 5: 5.14;
Chapter 6: 6.1, 6.6;
Chapter 7: 7.1, 7.2.
Week 7 (Oct 1, 3):
Further applications of duality:
- sensitivity and duality; [C] p.67
- dual simplex method; [V] Chapter 5.6;
- dual phase I method; [V] Chapter 5.7;
[V] Chapter 8.3: Revised simplex method.
Note: Sensitivity and Duality
Note: Dual of General LP
Note: Dual Simplex Method
Homework 7: due Tuesday, Oct 15th, in class.
[V] Exercises: 5.7, 5.8, 6.7;
[C] Problems: 9.2, 9.5.
(For 9.5, you do not need to extend Theorems 5.2 and 5.3.
Simply determine if the suggested solution is optimal or not.)
Week 8 (Oct 8, 10):
(Oct 8: October Break)
[V, Chapter 12]
Data regression: L^2 versus L^1;
L^1 minimization as an LP problem.
Week 9 (Oct 15, 17):
Midterm: Thursday, Oct 17th, in class.
No calculator or any electronic devices are allowed (or needed).
Necessary formula will be provided inside the exam.
Note: Selected Homework
Solutions
Midterm Statistics: Average = 79.06;
A: >= 85 (8); B >= 70 (4); C >=55 (3); D < 54 (1).
Midterm Solution
Homework 8: due Thursday, Oct 24th, in class.
[V] Exercises: 12.1, 12.2, 12.3, 12.4, 12.7
In addition, do the L^\infinity-error regression for Figure 12.8.
For 12.1, 12.2 and the L^\infinity versions, plot/compare/contrast in the
same graph your regression lines.
Week 10 (Oct 22, 24):
[V Chapter 12]
L^2, L^1, L^infinity-regression;
Binary classification;
[MG Chapter 2.6]
Biggest ball inside a convex polyhedron
[V Chapter 10] Convex analysis
Convex set, convex combination, convex hull
Caratheodory Theorem (Thm 10.3)
Separation Theorem (Thm 10.4)
Farkas Lemma (Lem 10.5)
Note: Regression
Note: Convex Analysis
Homework 9,
due: Thursday, Oct 31st, in class.
Some hints for Homework 9
Week 11 (Oct 29, 31):
Note: Farkas Lemma
Note: Examples and Applications of Linear Programming
Note: Integer Linear Programming
Homework 10: due Thursday, Nov 7th, in class.
[V] p.414, Exercises: 23.4, 23.5
Week 12 (Nov 5, 7):
[V Chapter 14]
Nodes, arcs, networks, incidence matrices, spanning trees.
Basic solutions in terms of spanning trees.
Network primal and dual simplex methods: modification of spanning
trees.
Updating of primal, dual and dual slack variables.
Note: Network Flows
Note: Network Simplex Methods
Week 13 (Nov 12, 14):
Integrality Theorem [V, Thm 14.2],
Konig (Matching) Theorem [V, Thm 14.3]
Transshipment, transportation and assignment problems.
Inequality constraints for network flow problems [C, p.321]
Upper bounded network flows [V, 15.4]
Shortest path (as a network flow problem),
Bellman equation (label correcting),
Dijkstra algorithm (label setting).
Note: Variants of Network Flows
and Applications
Homework 11,
due: Tuesday, Nov 26th, in class.
Week 14 (Nov 19, 21):
Note: Max-Flow-Min-Cut
Week 15 (Nov 26, 28):
(Nov 28: Thanksgiving Break)
Week 16 (Dec 3, 5):
Week 17 Final exam week
Final Exam:
Tuesday, Dec 10th, 1:00pm-3:00pm, SMTH 208