Operations Research Lab
Teaching material designed and developed by Fabio Furini, associate professor at DIAG, Sapienza University of Rome.
Continuous optimization models — the course lecture notes in online form, with Python/Gurobi code, data and reproducible case studies.
Every chapter starts from a concrete managerial problem — how much to produce, where to locate a service, which price to set, how much risk to accept — turns it into an optimization model, solves it with Gurobi called from Python and, above all, interrogates it: how much is one extra hour of capacity worth? Does the solution hold if the data change by 5%?
Every model can be run right away in the browser: each chapter has its own notebook that opens in Colab, with nothing to install.
The right question
At the end of every lab session the question is not only “what is the optimum?”, but “which decision do we recommend and how robust is it?”. All the decision variables are continuous; depending on the class of the model we read the solution through LP/QP duality, shadow prices or the KKT conditions.
The four parts of the lab
-
Tools
How a model is built, how it is run, how to read the solution, the shadow prices and the reduced costs: the theory and the solver.
-
Deterministic models
Production, supply chain, portfolio, pricing, budget, location, electric vehicle charging, queues: every datum is known.
-
Decisions under uncertainty
You decide before you know: the quantile rule, tail risk and the duality that prices financial instruments.
-
Optimization and machine learning
The SVM as a convex QP and robust regression as an LP: margin, dual, support vectors and support points — without ML libraries.
The lab at a glance
13 application chapters · 4 chapters of tools · LP, QP and NLP · one Colab notebook per chapter · reproducible Python/Gurobi code. The full list, chapter by chapter, is in the syllabus.
Download as PDF
- 📘 Full lecture notes — 115 pages: models, worked examples, case studies, sensitivity analysis
- 📊 Lecture slides — one deck per chapter of the notes, on the downloads page
Getting started
Nothing to install: every chapter has its own notebook that opens in Colab and runs in the browser. Those who prefer to work locally find the commands and the notes on the Gurobi licence on the same page.
By the same author:
- Linear Programming — polyhedra, the simplex algorithm, duality and the dual simplex, with the interactive lab;
- Convex Optimization — convex sets and functions, convex optimization problems, with interactive graphs;
- Algorithms — number representation, pseudo-code, sorting and searching, analysis and recursive algorithms;
- Integer Linear Programming — LP relaxation, valid inequalities, cutting planes, branch-and-bound and branch-and-cut;
- Combinatorial Optimization — knapsack, bin packing, coloring, TSP, scheduling and lot sizing, solved in every way;
- Network Optimization — graphs, spanning trees, shortest paths, network flows, the network simplex and project management;
- MIP Modelling — integer linear programming models, from the formulation to the solution with solvers;
- Mathematical Analysis 1 — real numbers, functions, limits, derivatives and series, with interactive graphs;
- Linear Algebra — vectors, matrices, determinants, linear systems and eigenvalues, with the computation lab.
Teaching material by Fabio Furini — DIAG, Sapienza University of Rome.