Lecture Notes — Lecture 30: Optimization Formulations

Companion to the lecture plan and the worked examples. Read the Definitions before class, the Explanation after it; the practice questions and the lecture quiz close the loop.

Definitions

Explanation

Optimisation begins as writing, not coding: name the decision variables (what you control), the objective (what better means, in those variables), and the constraints (budgets, capacities, integrality, non-negativity). Three sentences before any algorithm - because a misspecified objective optimises the wrong thing efficiently. Enumeration solves small spaces honestly; greedy solves structured ones with proof; constraint-style backtracking handles 'find any valid roster' where any feasible answer wins. The formulation also reveals structure: 'minimise the largest share' is binary-searchable because feasibility is monotone in the cap (block III's pattern returning); 'assign people to shifts under bans' is satisfaction, not optimisation. The craft skill is noticing which constraints prune hardest and checking them first - correctness never depends on the order, speed always does.

Examples

The lecture's worked examples live in examples.md; the case studies this lecture builds on are worked in class from the projector. The case sequence with difficulties:

Common misconceptions

Summary and key takeaways

  1. Variables, objective, constraints - three sentences before any algorithm.
  2. The formulation, not the solver, decides the difficulty.
  3. Satisfaction problems need only feasibility; optimisation needs the objective defended.
  4. Feasibility that is monotone in a threshold is binary-searchable.
  5. Check the priciest constraints first - order affects speed, never correctness.

Practice questions

Where this leads

Next lecture: Strategic Thinking Workshop. The quiz below checks this lecture's essentials before we build on them.