
CS/ISyE/Stat/Math 525  Fall 2015
Linear Programming


Linear programming is one of the most fundamental and practical problem classes in computational optimization. In this course, 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 applications, and extensions to other important problem classes such as quadratic programming and linear complementarity problems. Applications such as classification problems and game theory are covered.


Schedule




Office: 
4379 CS 
Phone: 
2624838 
Email: 
swright at cs

Office Hours: 
Mon 34, Thu 34 




Teaching Assistant: Qisi Wang
Office: 
1308 CS 
Email: 
qisi.wang at wisc

Office Hours: 
Wed 12, Thu 23 




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, PrimalDual InteriorPoint 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, approximately 25% of grade in total.
 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 UWMadison).
 Many assignments will require you to do Matlab programming using the Matlab routines described in the book. Here is some basic information about setting up your MATLAB environment for this course on the instructional CS linux machines.
 CLASS PROJECT, 10% of grade. Due last week of class (details below). Submit in class or to professor's office.
 MIDTERM, 25% of grade. To be held on Monday, 11/2/15, 7:15pm9:15pm, Location: PSYCHOLOGY 113. 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.
 FINAL, 40% of grade. To be held on 17 Dec 2015, 2:45pm4:45pm, Location:Psychology 113.
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.




Homework Assignments
 Homework 1, due in class on Wed 9/9/15. This homework is for practicing Matlab and CVX. Here is the data file hwk1.mat. (This file is also on the course public directory at ~cs5251/public, which will be in your Matlab path if you're using the CS linux machines and if your path is set up correctly.)
 Homework 2, hard copy due in class on 9/16/15.
 Homework 3, hard copy due in class on Wednesday 9/23/15.
 Homework 4, hard copy due in class on Wednesday 9/30/15.
 Homework 5, hard copy due in class on Wednesday 10/7/15.
 Homework 6, hard copy due in class on Wednesday 10/14/15.
 Homework 7, hard copy due in class on Wednesday 10/21/15.
 Homework 8, hard copy due in class on Friday 10/30/15.
 Homework 9, hard copy due in class on Friday 11/13/15.
 Homework 10, hard copy due in class on Friday 11/20/15.
 Homework 11, hard copy due in class on Friday 12/4/15.
 Homework 12, for practice only, do not submit.




Past Exams and Solutions
Here are some previous midterm examinations:
Here are some previous final examinations:

Final exam from Spring 1997 and
Solutions for Q1, Q2, Q3, Q5

Final exam from Fall 1999 and
Solutions for Q1, Q2, Q3

Final exam from Spring 2000 and
Solutions

Final exam from Fall 1996 and
Solutions

Final exam from Spring 1996 and
Solutions

Final exam from Spring 1998 and
Solutions

Final exam from Spring 1999 and
Solutions

Final exam from Spring 2002 and
Solutions

Final exam from Spring 2003 and
Solutions

Final exam from Spring 2004 and
Solutions

Final exam from Spring 2005 and
Solutions
 Final exam from Spring 2008 and Solutions (average: 85/100, median: 92/100)
 Final exam from Spring 2009 and Solutions (average: 52/80, median: 54.5/80)
 Final exam from Fall 2009 and Solutions
(average: 74.5/100, median: 75/100)
 Final exam from Fall 2010 and Solutions (average: 57/80, median: 59/80)
 Final exam from Fall 2012 and Solutions (average: 57/80, median: 61/80)
 Final exam from Spring 2014 and Solutions (average: 55/80, median: 54/80). Here is an alternative solution for Q2.
 Final exam from Fall 2014 and Solutions (average: 18/26, median: 18/26).





 Class Project: Breast Cancer Diagnosis by Quadratic Programming.
Posted 5 November 2015. Due 5:00pm on 15 December 2015. No Late Submissions Accepted.
Since we are using Matlab and CVX for this
project, most of you can probably run it on your own computers. But
you may use the computers in the CS Lab if you need to.




Computing Information
Use the CS Unix Labs on the first floor of Computer Sciences.
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. Later editions of this book, by Timothy Davis and Kermit Sigmon, can be purchased online.
 A routine permcols.m to rearrange the columns in a tableau.
 Using phase Iphase II simplex to solve the primal and dual problems simultaneously, for the problem of Section 4.3.
 Example of revised simplex applied "manually" to a problem with upper and lower bounds: rsmbounded.txt
 Solving QPs in nonstandard form using "Scheme II" pivots and Lemke's method: handout_lcp.pdf




Miscellaneous


