In this course, we start with a presentation of the dynamic programming approach which is a mathematical optimization method. This technique will be illustrated using well-known problems like the knapsack problem, the stock management problem, the resource allocation problem or the shortest path problem.

In a second part, we will concentrate on network flow problems (max flow, min cost flow, etc...). Our focus will be on the modeling part but we will also see how to solve such problems efficiently using well-known algorithms.

In the last part, we introduce project management/scheduling problems, present the critical path method as well as the concept of crashing. We also focus on the case when the exact durations of the tasks to be executed are not known.

All topics will be illustrated by examples taken from economics, management science and operations research.

Objectives:

  1. Understand the dynamic programming approach and be able to apply it to real problems.
  2. Be able to model and solve real world problems using network flow techniques.
  3. Be able to solve project management problems using the CP method as well as understand the concept of crashing.