186.835 Mathematical Programming
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2022S, VU, 2.0h, 3.0EC


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • Format: Distance Learning

Learning outcomes

After successful completion of the course, students are able to

  • overview the area of mathematical optimization with focus on mixed integer linear programming (MIP),
  • model both academic and real world decision problems as MIPs,
  • theoretically analyze and compare different MIP formulations for a problem,
  • understand common methodology for solving MIPs,
  • develop practical solution algorithms using state-of-the-art MIP frameworks.

Subject of course

  • Overview on mathematical optimization (focus on mixed integer linear models, but also discussing non-deterministic models)
  • Modeling (real world) problems as MIPs (basic techniques, modeling with exponentially many constraints and/or variables)
  • Solution methods for MIPs
    - Cutting plane method, branch-and-cut
    - Decomposition approaches (Lagrangian decomposition, Dantzig-Wolfe decomposition) and corresponding solution methods (subgradient method, column generation, branch-and-price)
  • Theory of valid inequalities and further theoretical concepts
    - (Strong) valid inequalities (Chvatal-Gomory cuts, Gomory cuts, cover cuts, theoretical concepts such as dominance, redundancy, facet-defining cuts)
    - "Well-solved" problems (properties, total unimodularity, optimization = separation)
  • Stochastic and robust optimization
  • Further issues in MIP computation and components of modern MIP solvers (presolving, primal heuristics, symmetry, frameworks)

Teaching methods

  • Slide-based video lectures
  • Introduction to the usage of state-of-the-art MIP solver frameworks (Gurobi, CPLEX)
  • Homework exercises
  • Programming exercises

Mode of examination


Additional information

Estimated effort:

Hours | Purpose
20       | Lecture
15       | Homework exercises 
25       | Programming exercise
15       | Exam preparation and exam
75       | Overall



Examination modalities

  • Homework exercises (max. 20 points): Exercises are done at home and solutions are uploaded in TUWEL.
  • Programming Exercises (max. 40 points): Different MIP formulations for a specified optimization problem are designed and implemented. You can (optionally) join in groups of two. Your solutions are uploaded in TUWEL.
  • Written exam (max. 40 points)


The mark you receive depends on the total points collected for all tasks, but you need at least 30 points in the exercise part (including homework and programming exercises) and at least 20 points in the written exam to finish positive. The final grade is obtained by the following mapping:

1: 89 - 100 points
2: 76 - 88
3: 63 - 75
4: 50 - 62
5: 0 - 49

Course registration

Begin End Deregistration end
14.02.2022 00:01 30.03.2022 23:59 30.03.2022 23:59



all material is available in TUWEL

Previous knowledge

  • Basic knowledge of (integer) linear programming (modeling, LP based Branch-and-Bound), e.g., as taught in Algorithmics
  • Knowledge of basic algorithms and data structures
  • Programming skills in some language, e.g., Java, C++, Python
  • Basic knowledge of linear algebra and graph theory

Preceding courses

Accompanying courses