Homework 1 (due 1/17): Exercises 2, 3, 5, 7, 8 (a, b, c, d, g), 9, and an additional problem.
Homework 2 (due 1/24).
Homework 3 (due 1/31).
Homework 4 (due 2/7).
Homework 5 (due 2/14): Exercises 23, 43, 45, 53, 68.
Homework 6 (due 2/21).
Homework 7 (due 2/28): Exercises 48, 59, 70, 72, 75.
Homework 8 (due 3/7): Exercises 80(b), 81, 82.
Homework solutions and grades are posted on the EEweb course website. (Follow the links to “Assignments” or “Grades”.)
Lectures: Boelter Hall 5440. Tue & Thu 10:00-11:50A.
Course material: The lecture notes are available from this website and are intended to be self-contained. The following books are useful as reference texts. (The links to on-line versions work on the UCLA campus.)
D. Bertsimas and J. N. Tsitsiklis, Introduction to Linear Optimization (Athena Scientific).
M. C. Ferris, O. L. Mangasarian, S. J. Wright, Linear Programming with MATLAB (SIAM).
D. Luenberger and Y. Ye, Linear and Nonlinear Programming (Springer).
C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization. Algorithms and Complexity (Dover).
C. Roos, T. Terlaky, J.-Ph. Vial, Theory and Algorithms for Linear Optimization (Springer).
A. Schrijver, Theory of Linear and Integer Programming (Wiley).
R. J. Vanderbei, Linear Programming: Foundations and Extensions (Springer).
S. J. Wright, Primal-dual Interior-Point Methods (SIAM).
Open book final exam on Friday, March 22, 11:30AM-2:30PM.
Grading. Approximate weights: homework 30%, final exam 70%.
Prerequisites. Basic linear algebra (vectors, matrices, linear equations). The essential topics will be reviewed in the first lectures.
MATLAB. The MATLAB linear programming solver is called linprog and is included in the optimization toolbox. Students who don’t have the optimization toolbox can request a free semester license of the MOSEK optimization tools for MATLAB. MOSEK includes an LP solver linprog with the same calling sequence as MATLAB’s linprog. You can also use the routine lp236a.m, a pure MATLAB implementation of a primal-dual method. This code is less efficient and reliable than the MOSEK solver, but should be adequate for the purposes of this course. The following MATLAB packages allow you to specify and solve LPs using a very simple and intuitive description format: CVX (which includes the necessary solver) and YALMIP.
Octave. Octave users can download the Octave version of lp236a.m.
Python. Python users can download the CVXOPT package, which includes an LP solver and modeling support.