Single-Course Engelsk 5 ECTS

Advanced Operations Research Methods

Overall Course Objectives

The aim of the course is to give a thorough introduction to decomposition algorithms. This will enable the students to solve complex optimization problems. Furthermore the student is trained in applying the algorithms and implementing them in Julia

See course description in Danish

Learning Objectives

  • Describe the motivation for decomposition in large‑scale optimization, including block structure, separability, and scenario‑based modeling
  • Explain the core ideas behind the major decomposition methods Benders Decomposition, Dantzig–Wolfe Decomposition, Stochastic Dual Dynamic Programming, and Progressive Hedging
  • Summarize the mathematical foundations supporting these methods, including duality, convexity, recourse, and value functions
  • Formulate master and subproblem structures for deterministic and stochastic optimization models suitable for decomposition
  • Implement basic versions of Benders, Dantzig–Wolfe, Stochastic Dual Dynamic Programming, and Progressive Hedging using a modeling framework (e.g., Julia/JuMP)
  • Analyze a mathematical model to determine whether it possesses structural properties that make it suitable for decomposition
  • Apply decomposition methods to solve representative deterministic and stochastic optimization problems
  • Summarize the main advantages and limitations of the methods considered

Course Content

Many important optimization problems can be formulated as mixed integer programming models. When these models cannot be solved using standard solver software, decomposition algorithms can be applied to iteratively solve the problems by iteratively coordinating smaller problems. These methods are: Benders decomposition, Dantzig-Wolfe decomposition/column generation, Stochastic Dual Dynamic Programming, and Progressive Hedging.

The course will give students a thorough overview of these methods and enable them to use them as solution methods for various problems.

Recommended prerequisites

42112, The programming language Julia, using the Math. Programming package Jump will be used in the exercises and in the assignments.

Teaching Method

Lectures, excercises and project work.

Remarks

The course is quantitatively oriented and requires a solid understanding of linear programming. In the exercises, students will use the Julia programming language together with the JuMP modeling package (introduced in course 42112) and the SDDP package to implement the decomposition algorithms.

See course in the course database.

Registration

Language

Engelsk

Duration

13 weeks

Institute

Management

Place

DTU Lyngby Campus

Course code 42136
Course type Candidate
Days Thurs 8-12
Price

9.250,00 DKK

Registration