CS 525: Linear Programming
Spring 2009
|
This course is about one of the most fundamental and practical problem classes in computational optimization: linear programming. We take an algorithmic approach, describing the simplex algorithm and its variants, using Matlab to program the various elements of the algorithm. We discuss the concept of duality and its practical application, and also discuss extensions to other important problem classes such as quadratic programming and linear complementarity problems. Important applications such as classification problems and game theory are also covered.
|
Schedule
The current lecture schedule is posted here. It's subject to modification. In particular, some lectures will be dropped or given by a guest lecturer. I'll make sure the schedule is accurate to at least a week in advance.
- Week 1: Wed 1/21 (50 min), Fri 1/23 (50 min)
- Week 2: Mon 1/26 (50 min), Wed 1/28 (50 min), Fri 1/30 (50 min)
- Week 3: Mon 2/2 (50 min), Wed 2/4 (50 min), Fri 2/6 (50 min)
- Week 4: Mon 2/9 (50 min), Wed 2/11 (50 min), Fri 2/13 (50 min)
- Week 5: Mon 2/16 (50 min), Wed 2/18 (50 min), Fri 2/20 (50 min)
- Week 6: Mon 2/23 (50 min), Wed 2/25 (50 min), Fri 2/27 (50 min)
- Week 7: Mon 3/2 (50 min), Wed 3/4 (no lecture), Fri 3/6 (50 min)
- Week 8: Mon 3/9 (50 min), Wed 3/11 (lecture as normal; midterm held 7:15-9:15p), Fri 3/13 (50 min)
- Spring Break: 3/14-3/22
- Week 9: Mon 3/23 (50 min), Wed 3/25 (50 min), Fri 3/27 (no lecture)
- Week 10: Mon 3/30 (50 min), Wed 4/1 (50 min), Fri 4/3 (50 min)
- Week 11: Mon 4/6, Wed 4/8, Fri 4/10
- Week 12: Mon 4/13, Wed 4/15, Fri 4/17
- Week 13: Mon 4/20, Wed 4/22, Fri 4/24
- Week 14: Mon 4/27, Wed 4/29, Fri 5/1
- Week 15: Mon 5/4, Wed 5/6, Fri 5/8
|
 |
| Office: |
4379 CS |
| Phone: |
262-4838 |
| Email: |
|
| Office Hours: |
Tue 2:45-3:45, Fri 9:30-10:30 |
|
 |
Teaching Assistant: Taedong Kim
| Office: |
1306 CS |
| Email: |
|
| Office Hours: |
Wed 2-3, Thu 4-5 |
|
|
General Course Information
Prerequisites
- Math 443 or 320 or 340 or consent of instructor.
Text
References
- V. Chvatal, Linear Programming, Freeman, New York, 1983.
- G. B. Dantzig, Linear Programming with Extensions, Princeton University Press, Princeton, 1963.
- S. J. Wright, Primal-Dual Interior-Point Methods, SIAM, 1997.
- J. M. Ortega, Numerical Analysis: A Second Course, SIAM Classics in Applied Mathematics 3, SIAM, Philadelphia, 1990.
- K. G. Murty, Linear Programming, Wiley, New York, 1983.
- H. Karloff, Linear Programming, Birkhauser, Boston, 1991.
- R. Saigal, Linear Programming, Kluwer, 1995.
- M. N. Thapa and G. B. Dantzig, Linear Programming I: Introduction, Springer, 1997.
|
 |
Course Outline
- Linear Algebra Background
- The Simplex Method
- Duality
- Revised Simplex Method
- Interior Point Methods
- Sensitivity Analysis
- Approximation Problems
- The Linear Complementarity Problem
- Quadratic Programming
|
 |
Assessment
Keep track of your grades through the learn@uw system. Log on, click through to the page for this course, and click the "Grades" tab at the top of the page.
- Approximately one homework assignment per week, 35% of grade.
- The Dropbox facility of learn@uw will be used for some homeworks. You can access this by clicking the "Dropbox" tab at the top of the course page on learn@uw. Details of submission procedures will be indicated on each homework.
- Homework is due at the beginning of class on the designated date.
- No homeworks will be accepted by TAs, in mailbox or in person.
- No homework or project is accepted in mailbox of instructor.
- You may discuss homework with classmates, but the submitted version must be worked out, written, and submitted alone.
- Submitting someone else's work as your own is academic misconduct. Cheating and plagiarism will be dealt with in accordance with University procedures (see this information on Academic Misconduct at UW-Madison).
- CLASS PROJECT, 10% of grade. Due on Friday May 8, 2009 at 5:00pm. (Submit in class or to professor's office.)
- MIDTERM, 15% of grade. Wednesday 3/11/09, 7:15p-9:15p, Room 1240, CS Building. You may bring into the exam one page of handwritten notes (written both sides). No other books or notes, and no calculators or other electronic devices. See pdf and solution below.
- FINAL, 40% of grade. To be held on Tuesday May 12, 2009, 10:05a-12:05p, Location: Noland 168. This bulding is at 250 N. Mills St, one block away from CS. Look for it on the campus map. You may bring into the exam one page of handwritten notes (written both sides). No other books or notes, and no calculators or other electronic devices.
|
 |
Past Exams and Solutions
Here are some previous midterm examinations:
Here are some previous final examinations:
|
 |
Homework Assignments
- Homework 1, due by hard-copy submission at start of class, and also submission to learn@UW Dropbox by 11:00am on Friday 1/30/09. Here is the data file hwk1.mat. (You can also type in the data by hand).
- Homework 2, hard copy due at start of class on Friday 2/6/09.
- Homework 3, hard copy due at start of class on Friday 2/13/09.
- Homework 4, hard copy due at start of class on Friday 2/20/09.
- Homework 5, hard copy due at start of class on Friday 2/27/09.
- Homework 6, hard copy due at start of class on Friday 3/6/09.
- Homework 7, hard copy due at start of class on Monday 3/30/09.
- Homework 8, hard copy due at start of class on Friday 4/3/09.
- Homework 9, hard copy due at start of class on Friday 4/10/09.
- Homework 10, hard copy due at start of class on Wednesday 4/22/09.
- Homework 11, hard copy due at start of class on Friday 5/1/09.
|
 |
Class Project (Due in Class on May 8, 2009)
The Disputed Federalist Papers, via Quadratic Programming
(The last two files are also available on the course web site ~/cs525-1/public.)
Here is Fung's background paper, cited in the project description.
You will need to do the project on your CS unix account, as it requires access to CPLEX, which is
installed on these machines (and probably not on your laptop).
To enable calling of CPLEX from your Matlab programs, you need to add
the following line to the .cshrc.local file in your root
directory:
setenv ILOG_LICENSE_FILE /s/cplex-9.1/license/access.ilm
Then logout and login again.
|
 |
Computing Information
Use the CS Unix Labs on the first floor of CS&S: Locations here. Information that's particularly helpful for first-time users can be found here.
For new users of Unix and the CS Unix facilities, orientation sessions will be held in CS&S 1325 according to the following schedule.
Here is some basic information about setting up your MATLAB environment for this course. In particular, there are instructions for setting up a startup file that defines a search path for Matlab that includes the public directory for the course.
|
 |
Handouts and Examples
- Introduction to MATLAB by Mark S. Gockenbach: html and postscript
- The 3rd edition of Kermit Sigmon's Matlab Primer. The 7th edition of this book, by Timothy Davis and Kermit Sigmon, can be purchased online.
- The DIET PROBLEM demo. Try it yourself!
- A routine permcols.m to rearrange the columns in a tableau.
- Using phase I-phase II simplex to solve the primal and dual problems simultaneously, for the problem of Section 4.3.
|
 |
Miscellaneous
|
 |
|
|
|