Students
Tuition Fee
EUR 2,000
Per course
Start Date
Medium of studying
On campus
Duration
8 days
Details
Program Details
Degree
Courses
Major
Applied Mathematics | Mathematics | Statistics
Area of study
Mathematics and Statistics
Education type
On campus
Course Language
English
Tuition Fee
Average International Tuition Fee
EUR 2,000
About Program

Program Overview


Mathematical Optimisation with Python

Overview

Mathematical Optimisation with Python is an advanced course designed for professionals and researchers with a background in linear optimisation and Python programming. The course focuses on robust and stochastic optimisation methods used to solve complex real-world problems affected by uncertainty.


Curriculum

The course covers theoretical foundations, algorithmic implementations, and hands-on practice using the Python library Pyomo. Key topics include:


  • Review of linear and mixed-integer linear optimisation
  • Network optimisation: models and heuristics
  • Accounting for uncertainty: “Optimisation meets reality”
  • Robust optimisation
  • Stochastic optimisation

Detailed Daily Course Curriculum

The course spans 8 days, with the following topics covered each day:


  • Day 1: Review of linear and mixed-integer linear optimisation
    • Review of linear optimisation and duality
    • Integer variables and related modelling tricks
    • Introduction to Pyomo modelling language and solvers
  • Day 2: Network optimisation: models and heuristics
    • Matching problems
    • Flow and transportation problems
    • Totally unimodularity and its computational advantages
  • Day 3: Accounting for uncertainty: “Optimisation meets reality”
    • Sources of uncertainty
    • Two mindsets to deal with uncertainty
    • The role of simulation and the flaw of averages
  • Day 4: Robust optimisation 1 “Optimising for the worst case”
    • Core ideas of robust optimisation: worst-case scenarios
    • Types of uncertainty sets and how to build them from data
  • Day 5: Robust optimisation 2 “Reformulation and implementation”
    • Review of duality and its role in the adversarial approach
    • Robust counterparts: derivation and implementation
  • Day 6: Stochastic optimisation 1 “Optimising for the average case”
    • Probability theory refresher
    • Optimising “on average”: what does it mean?
    • The price of ignoring uncertainty: the flaw of averages
  • Day 7: Stochastic optimisation 2 “Chance constraints and risk measures”
    • Modelling using chance constraints
    • MILO reformulation of chance constraints
    • Beyond expectations: an overview of risk measures
  • Day 8: Stochastic optimisation 3 “Advanced stochastic problems and solution methods”
    • Two-stage stochastic problem formulation
    • Recourse actions
    • Sample-average approximation

Instructor

Dr. Alessandro Zocca is an assistant professor specialised in reinforcement learning and stochastic optimisation and its applications in various domains, especially (renewable) energy systems. He teaches probability and optimisation at all levels and has recently written the textbook titled “Hands-On Mathematical Optimisation with Python”. He is fluent in Python and is specialised in the use of optimisation packages such as Pyomo.


See More
How can I help you today?