CSCI 5654 Linear Programming Spring 2023

Topics covered

Roughly, we will cover the following topics (some of them may be skipped depending on the time available).

Textbook

We will use the following main textbook for Linear Programming:

Linear Programming: Foundations and Extensions, RJ Vanderbei

Schedule

Subject to changes over the course of the semester

IDDateTopics Covered
1We 1/18Introduction to optimization and Linear Programming
2Mo 1/23Modeling optimization problems with examples
3We 1/25The Simplex algorithm I: intro
4Mo 1/30The Simplex algorithm II: algorithm, initialization
5We 2/01The Simplex algorithm III: geometry, degeneracy
6Mo 2/06The Simplex algorithm IV: degeneracy (cont'd), complexity
7We 2/08Duality I: intro, weak duality
8Mo 2/13Duality II: strong duality
9We 2/15Duality III: complementary slackness and sensitivity
10Mo 2/20The Simplex algorithm V: matrix notation
11We 2/22Geometry of Linear Programs I: convex sets and polyhedra
12Mo 2/27Geometry of Linear Programs II: operations on polyhedra
13We 3/01Applications I: norms, regression, classification
14Mo 3/06Applications II: finance
15We 3/08Applications III: control theory
16Mo 3/13Applications IV: games + revision for Exam #1
17We 3/15Exam #1
18Mo 3/20Integer Linear Programming I: intro, modeling
19We 3/22Integer Linear Programming II: branch-and-bound algorithm
/Mo 3/27Spring break
/We 3/29Spring break
20Mo 4/03Integer Linear Programming III: cutting-plane algorithm
21We 4/05Integer Linear Programming IV: applications
22Mo 4/10Network-flow problems I: intro
23We 4/12Network-flow problems II: network Simplex algorithm
24Mo 4/17Network-flow problems III: max-flow min-cut theorem
25We 4/19Interior-point methods I: intro
26Mo 4/24Interior-point methods II: primal-dual path-following method
27We 4/26Interior-point methods III: Newton's method
28Mo 5/01Interior-point methods IV: convergence analysis
29We 5/03Exam #2


Problem sets

Problem sets will be given to you as problems that you will need to solve. These could be conceptual problems that ask you to work through some detail of a proof or formulate an optimization problem, but it could also be practical problems accompanied by a programming component. For instance, we could ask you to formulate a portfolio optimization problem to invest in a set of stocks. You may be asked to formulate the problem, describe the solution, and we may give you a dataset and ask you to implement your solution over the given dataset. 

Organization: Assignments and deadlines will be posted on canvas.

To be flexible, we will omit one problem set with the lowest scores from consideration while computing the overall grade.

Programming

The course includes a important component of programming. We will do demonstrations of optimization programs during the class, and assignments will involve implementing small pieces of code to solve practical problems.

We recommend the use of Julia or Python.

Course work and grades

The course work will consist in (a) problem sets (see above); (b) spot exams; and (c) final project.

Problem sets (50% of the grade)

We expect to post 6 problem sets.

Spot exams (25% of the grade)

We will have 2 spot exams spread out through the semester. They will test material that you have learned and go on for one hour each.

The first spot exam will take place on Wednesday March 15, 2023.

The second spot exam will take place on Wednesday May 3, 2023.

The questions will be theory and application of tools seen in the class. They will be written exams. The duration is 1 hour for each. Bring sheets of paper and writing material. They will take place in person in the usual classroom ECCS 1B28. If for some major reason you cannot attend in person, let me know as soon as possible.

Final project (25% of the grade)

It will involve working in teams of two students who will understand a topic related to Linear, Integer, or Convex Optimization. The topic can be theory, algorithms and/or applications, as long as it goes beyond what has been covered in class.

The project will be presented in a 15-minute presentation during the last classes of the semester.

Final Grades

Final grades will be calculated using the cumulative scores with the appropriate weights.

Other resources

CC BY-SA 4.0 Guillaume Berger. Last modified: August 31, 2024. Website built with Franklin.jl and the Julia programming language.