This lecture broadens the range of real-life problems you can cast as (integer) linear optimization, and introduces the modeling tricks that make that possible, partly for their own sake and partly as inspiration for modeling your own problems. Why Linearity Matters, and What Integrality Buys Back, in Integer Optimization, explains why we lean so heavily on these models in the first place; this lecture puts that into practice.
Learning outcomes
On completion of this lecture, you will be able to:
recognize and formulate the transportation and transshipment problems;
formulate set cover, set covering, and shift-scheduling problems as ILO models;
formulate a single-machine scheduling problem as an ILO model, and model fixed costs and either/or conditions with big-M constraints and binary indicator variables.
Applications in This Lecture¶
Transportation and Transshipment: shipping goods between sources and destinations, or through intermediate nodes, at minimum cost.
Set Covering and Shift Scheduling: choosing the cheapest set of shifts (or facilities) that between them cover every point that needs covering.
Machine Scheduling: scheduling jobs on a single machine, and the modeling tricks (big M, disjunctive constraints) that this needs.
Exercises collects the larger, independent exercises for all three.
Every application is introduced in the same steps, which you can also follow when you model a problem of your own:
a practical motivation;
the modeling: a problem definition with generic notation and a concrete example, followed by the decision variables, the objective, the constraints and the complete (I)LO model, all in generic notation;
the model for the example, written out with its numbers;
solving the example in pulp;
possible extensions.