This course examines the theory and the algorithms of Mathematical Programming and their relations to other areas (e.g., Game Theory). In particular, the course includes the Linear Programming problem, Duality Theory, basic algorithms for Linear Programming, introductory concepts of Non-Linear Programming and Integer Programming, problem formulation in Mathematical Programming, Dynamic Programming and Linear Programming's relation with Game Theory. The expected outcome is the solid understanding of all the above and, in addition, the applications of Mathematical Programming arising from real-life settings. More specific outcomes include the in-depth knowledge of mathematical structures and properties of classes of problems, the use of algorithms but also the design of variants for special cases and, last, the modeling and solving of relevant practical problems.
The purpose of this course is the in-depth understanding of the theory and applications of Mathematical Programming. More specific learning outcomes include:
- The understanding of mathematical structure and properties of fundamental problem classes (e.g., linear, non-linear and integer programming, dynamic programming)
- The use of Mathematical Programming algorithms for problem solving but also the design of their variants for special problem cases.
- The formulation and solving of problems arising from practical, real-life settings.
The course material includes the following topics:
- The Simplex Method: description, geometric interpretation and special cases
- Sensitivity analysis and economic meaning
- The Karush-Kuhn-Tucker conditions, description and proof
- Duality Theory
- Introduction to Non-Linear Programming
- The transportation problem and the Network Simplex Algorithm
- Model building and formulation, applications and case-studies
- Integer Programming, modeling and solution methods
- Linear Programming and Game Theory
- Dynamic Programming: formulations, solution approach and applications