This website contains handouts, lecture notes, and other helpful material for the ORI 391Q course, a course focusing on Network Optimization, whose official title is "Network Flow Programming".

You are invited to read the class syllabus.

View or download an entire class worth of lectures from the Networks lecture videos page. The course this year will have large sections of overlap with this material.

Lecture1.pdf Lecture2.pdf Lecture3.pdf Lecture4.pdf Lecture5.pdf Lecture6.pdf Lecture7.pdf Lecture8.pdf Lecture9.pdf Lecture10.pdf Lecture11.pdf Lecture12.pdf Lecture13.pdf Lecture14.pdf Lecture15.pdf Lecture16.pdf Lecture17.pdf Lecture18.pdf

Look for assignment due dates on the calendar on the right.

- Project 0 -- Create your team, and pick your network.
- Project 1 -- Create a backstory, gather data.
- Pyomo Interdiction Templates -- shortest_path max_flow min_cost_flow multi_commodity

- HW 0 -- Basics of graph descriptions and data structures solutions
- HW 1 -- Search algorithms solutions
- HW 2 -- Shortest path solutions
- HW 3.1 -- The drug lord 3.1-files 3.2-files solutions
- HW 3.2 -- A more realistic drug lord solutions
- In-class max-flow -- practice problems solutions
- In-class min-cost-flow -- practice problems solutions

- Program 0 -- No programming yet, just a problem. inclass.py netpyomo.py hoursCostData.csv
- Program 1 -- Write some code to create a network machines_data.csv machines.py
- Program 2 -- CPM

- Writing Style Guide -- Some brief guidelines on technical writing.
- Talk Style Guide -- Some briief guidelines on preparing good presentations.

- Notes 1 -- Review big-Oh, data structures, graph terminology, storing graphs in a computer.
- Notes 2 -- Intro to shortest path as an LP, graph search (BFS, DFS), applications of search.
- Notes 3 -- Shortest path algorithms.
- Notes 3.1 -- Overview of network models.
- Notes 4 -- Interdicting shortest paths.
- Notes 5 -- Maximum flow.
- Notes 5.1 -- Interdicting max flow.
- Notes 6 -- Minimum cost flow.
- Nodes 7 -- Multi-commodity flow.
- Notes 8 -- Constrained shortest path.
- Notes 9 -- Network simplex algorithm.

**This is a completed course.**