Operations Research
Optimisation, networks, queues and simulation. Linear programming, classic OR models, graphs and networks, queueing theory for service design, and Monte Carlo and discrete-event simulation.
- Linear Programming — Optimise a linear objective subject to linear constraints. Learn LP formulation, the feasible region and graphical method, corner-point theorem, the simplex method (slack variables, pivoting), duality and shadow prices, sensitivity analysis, and integer programming.
- Operations Research — Quantitative decision-making for operations. Learn transportation and assignment problems, network optimisation (critical path), scheduling, queueing models (M/M/1: utilisation, queue length, waiting time), inventory models (EOQ), and decision theory (expected value, decision trees).
- Graph Theory & Networks — Graphs model networks of all kinds. Learn vertices and edges, directed, undirected and weighted graphs, degree, paths, cycles and connectivity, trees and spanning trees (Kruskal, Prim), shortest paths (Dijkstra), topological sorting, and network flow (max-flow/min-cut) — with a Python Dijkstra implementation.
- Queueing Theory & Service System Design — Why waiting lines form and how to size them. Learn arrival and service processes (Poisson, exponential), Kendall notation, utilisation, Little's law, M/M/1 and M/M/c (Erlang C) formulas, the effect of variability (Kingman's formula), priority and finite queues, staffing to service levels, and cost trade-offs — with Python for a multi-server pharmacy counter.
- Monte Carlo & Discrete-Event Simulation — Experimenting with systems on a computer. Learn when to simulate, random-number generation and sampling from distributions, Monte Carlo for risk and uncertainty, discrete-event simulation (entities, events, queues, clocks), model building, verification and validation, warm-up, replications and confidence intervals, output analysis and scenario comparison, and simulation software — with Python for a project-risk Monte Carlo and a DES queue.