Collection of EE236A Exercises (pdf). The MATLAB files required by some of these exercises are ex7data.m, ex13data.m, ex14data.m, ex15data.m, ex20data.m, ex30data.m.
Lectures: Kinsey 1200B. 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, Interior Point Methods 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).
Course requirements
Weekly homework.
Open book final exam on Thursday, December 12, 3:00PM-6:00PM.
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.