Skip to main content

/EDUCATION/MATH3082

MATH3082: Optimisation

Third Year, 2025/26 · Semester 2

Overall mark 88%

Linear and nonlinear optimisation, with a group study of electricity dispatch, resource limits, and emissions constraints.

SKILLS Mathematical Modelling · Linear Programming · Convex Optimisation · Sensitivity Analysis

TECHNOLOGIES Julia · JuMP · HiGHS · Gurobi · Jupyter

What the module covered

This module covered linear programming, the simplex method, duality, complementary slackness, and sensitivity analysis. It also introduced convex and nonlinear optimisation, gradient and Newton methods, quadratic programming, and the Karush–Kuhn–Tucker conditions.

For the group coursework, we modelled electricity generation over peak and base-load periods in Julia using JuMP. Starting with a least-cost dispatch model, we added a generator’s weekly energy limit, an emissions cap, and the option to leave some demand unmet at a penalty. The notebooks compared simplex and interior-point methods and examined generation schedules, marginal prices, and sensitivity to the load-shedding penalty.

What I took from it

The energy problems connected abstract optimisation concepts to a model with interpretable variables and constraints. A resource limit could couple decisions across time periods, while dual values explained the marginal cost of meeting demand or tightening a constraint. The solver comparison also needed care: these were small problems, and timing differences alone were not enough to judge how the methods would scale.