Syllabus for MSIS 683: Introduction to linear Programming
Last updated
Texts and References:

Vanderbei, Robert J. "Linear Programming: Foundations and Extensions",
Kluwer Academic Publishers, 1996

R. Fourer, D. Gay and B. Kernighan "AMPL: A Modeling Language for Mathematical
Programming", Boyd & Fraser Publishing Company, 1993
The first book is our main text . The second, though not required , is
important to learn AMPL.
Required work

Every student should serve as scribe two
or three times during the semester. The scribe will be in charge of a particular
lecture, and should take notes carefully. These notes then should be transcribed
into an MS WORD document
and emailed back to me so that I post them in the page. The
notes should be sent to me no later than one week after the lecture!
The scribing duties will be 10% of your grade. I will do minimal or no
editing of your notes so please be careful and precise. Your scribing grade
will be subjective and based on my evaluation of your notes.

I will assign 5 or 6 homework sets during the semester.
These will constitute 50% of your final grade. The homeworks are due on
the day they are assigned at the beginning
of the lecture. Homeworks handed out during or after the lecture are
considered late. You will lose 25% of
the grade for each late homework. No late homework will be accepted after
it was graded and handed back. Also you
will not pass this course if you fail to hand in two homework assignments
or more regardless of your total score!

We will not have any final exam. Instead I will give
one partial takehome exam
worth 20% of your grade. By partial takehome I mean that the questions
will be distributed a few days before the exam date and you will have time
to work on them and even collaborate with each other in order to solve
them. However on the exam day, you will have to write the answers in your
own words closed book and notes, and obviously without any collaborations!
In this course the main purpose is to cover a broad spectrum of topics
on linear programming. We cover the basic material such as he simplex method
and duality theory. But a healthy part of the course will be devoted to
applications and modeling, especially as it is relevant to a business school
study. We will also use AMPL or related
software for modeling projects. AMPL
a modeling language will be used for some modeling projects.
Topics
Here are the topics I wish to cover in this course.
I intentionally put more stuff than I can possibly cover during the semester,
and adjust things as the course evolves, so don't be alarmed! This part
will be changed as we go along. I will give details, and exact dates when
the material will be covered only for the next few lectures. I may also
juggle some of the topics, add new ones and eliminate others as we go along.
Week 1 & 2: Basics and definitions.

Define linear programming

Present some real world models: the diet problem,
the transportation problem, foreign exchange arbitrage problem, some economics
and financial models for LP.

Geometry of LP: polytpes and polyhedra, vertices,
edges, facets, the two and three dimensional case.

Optimality condition in both Geometric and algebraic
sense,

Basic simplex algorithm
Read chapters
1 and 2, plus lecture notes
Weeks 3&4 &5: Duality, complementary slackness,
convex analysis and the dual simplex method

Degeneracy and ways of coping with it
Read chapter 3

The dual problem, weak duality theorem, strong
duality using the tableau (or dictionaries) Read
chapter 5, sections 1 through 6

Dual of diet and transportation problems, economic
interpretation of duality, the arbitrage theorem in finance and duality
Read lecture notes

Convex set and functions, separation theorem, Farkas
lemma and another proof of duality theorem, connection to arbitrage
theorem of finance Read chapter 10 and
notes

The dual simplex method Read
chapter 5, section 6 through 10
Weeks 6 & 7: Matrix notation, the revised
simplex method, sensitivity analysis

review of matrix algebra

dictionaries and matrix notation

simplex and dual simplex method in matrix language

sensitivity and parametric analysis
Read chapters 6 & 7 plus lecture notes
Weeks 8 & 9 & 10: Implementation issues:

choice of variable to enter: pivoting rules

numerical analysis of pivoting: LU factorization
and updates, sparse matrices
Read chapter 8
Week 8 & 9 & 10: Network Flows and
Network simplex algorithm

The general minimum cost network flow problem

special cases such as the transshipment problem,
transportation problem, maximum flow problem, assignment problem
and shortest path problem

interpretation of bases and pivots in network problems:
spanning trees, and bases

the network simplex method

primaldual simplex method and its application to
network flow problems

Transportation problem, simplex and primaldual simplex
methods

Assignment problem and the Hungarian method

maximum flow problem and FordFulkerson augmenting
path algorithm

Dijkstra's shortest algorithm and dynamic programming
Read chapters 13 and 14 and lecture notes
Week 11: statistical application:
regression, stochastic programming

Introduction to basic regression theory

applications of LP to some regression problems

introduction to stochastic programming and linear
programming applications
Read chapter 12 and notes
Week 12: Introduction to game theory

concept of matrix games

optimal strategies and the minmax theorem, connection
to duality in linear programing

some economic applications
Read chapter 11 and lecture notes
Week 13 &14: Introduction to interior point
methods

the notion of barrier and logarithmic barrier in
LP

central path and a system of equations

solution of central path equations by using Newton's
method

matrix formulation of the path following algorithm
and computations of successive approximations

similarities to and differences from the simplex
method
Read chapter 16 and 17 and 18